View gist:64f61b7c837849d4525f145627681922
var registerTopicListener = function (session){ | |
var listener = { | |
onDescendantNotification: function() {}, | |
onTopicNotification: function(topicPath, topicSpecification, type) { | |
addUser(topicPath); | |
}, | |
onClose: function() {}, | |
onError: function(error) {} | |
}; | |
View gist:7ff4ddb0023337e6e6e143eb8d807fc9
... | |
session.stream(chatTopic).asType(diffusion.datatypes.json()) | |
.on('value', function (topic, specification, newValue, oldValue) { | |
appendMessageToChat(newValue.value.get(), '#chatmessages'); | |
}); | |
... |
View gist:8ed8c52ca067700fb48a3d11bdc8917e
var sendTextMessage = function(session){ | |
var input = $("#chatinput").val(); | |
$("#chatinput").val(''); | |
if(session.isConnected() && (input.replace(/\s/g, '').length > 0)){ | |
var message = { | |
origin: chatUserId, | |
type: 'txtmsg', | |
payload: input | |
}; | |
session.timeseries.append(chatTopic, message); |
View gist:16098f2d32bcff0e62d20bd966d33aba
var createTopic = function(topicPath){ | |
var specification = new diffusion.topics.TopicSpecification( diffusion.topics.TopicType.TIME_SERIES, { | |
TIME_SERIES_EVENT_VALUE_TYPE : "json", | |
TIME_SERIES_SUBSCRIPTION_RANGE : "limit 30000", | |
TIME_SERIES_RETAINED_RANGE : "limit 30000" | |
}); | |
session.topics.add(topicPath, specification); | |
session.subscribe(topicPath); | |
} |
View gist:e959feceefb87e047d37b33f401d381b
... | |
topicControl.addTopic(topicPath, | |
TopicType.JSON, | |
callback); | |
... |
View gist:d03960542252566623e1c02f450bfb05
TopicControl topicControl = session.feature(TopicControl.class); |
View gist:12fd7eda60d7f5288541198f06f53db9
Session session = Diffusion.sessions().open("ws://localhost:8080"); |
View Gatekeeper.java
import java.util.Collection; | |
import com.pushtechnology.diffusion.client.Diffusion; | |
import com.pushtechnology.diffusion.client.callbacks.ErrorReason; | |
import com.pushtechnology.diffusion.client.features.control.topics.SubscriptionControl; | |
import com.pushtechnology.diffusion.client.features.control.topics.SubscriptionControl.SubscriptionByFilterCallback; | |
import com.pushtechnology.diffusion.client.session.Session; | |
import com.pushtechnology.diffusion.client.types.ErrorReport; | |
public class Gatekeeper { |
View requester.js
var diffusion = require('diffusion'); | |
// Connect to Reappt with requester credentials | |
diffusion.connect({ | |
host : 'approvingBoldDaVinci.us.reappt.io', | |
port : 443, | |
secure : true, | |
principal : 'requester', | |
credentials : 'retseuqer' | |
}).then(function(session) { |
View keymaster.js
var diffusion = require('diffusion'); | |
// Connect to Reappt with admin credentials | |
diffusion.connect({ | |
host : 'approvingBoldDaVinci.us.reappt.io', | |
port : 443, | |
secure : true, | |
principal : 'admin', | |
credentials : 'nimda' | |
}).then(function(session) { |
NewerOlder