Class MessageProtocolDispatcher
- java.lang.Object
-
- com.inductiveautomation.perspective.gateway.session.MessageProtocolDispatcher
-
- Direct Known Subclasses:
PageModel.Handlers
public class MessageProtocolDispatcher extends java.lang.ObjectHandles some boilerplate for classes that can handle receiving messages from a websocket channel. Basically just a fancy wrapper around a map of protocol handling messages.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,com.inductiveautomation.perspective.gateway.session.MessageProtocolDispatcher.MessageHandler>handlers
-
Constructor Summary
Constructors Constructor Description MessageProtocolDispatcher(com.inductiveautomation.ignition.common.gson.Gson gson, LoggerEx log)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanhandles(java.lang.String protocol)protected voidonFatalError(MessageChannel channel, java.lang.String message)protected voidonFatalError(MessageChannel channel, java.lang.String message, java.lang.Throwable t)voidreceive(MessageChannel channel, java.lang.String protocol, java.io.Reader payload)<T> voidregister(java.lang.String protocol, java.util.function.BiConsumer<MessageChannel,T> handler, java.lang.Class<T> clazz)voidtrySend(MessageChannel channel, java.lang.String protocol, com.inductiveautomation.ignition.common.gson.JsonObject payload)Handy wrapper around MessageChannel.send that logs a warning upon failure.voidtrySend(MessageChannel channel, java.lang.String protocol, java.lang.Object payload)Handy wrapper around MessageChannel.send that logs a warning upon failure.voidtrySendInternal(MessageChannel channel, java.lang.String protocol, java.lang.String payload)
-
-
-
Constructor Detail
-
MessageProtocolDispatcher
public MessageProtocolDispatcher(com.inductiveautomation.ignition.common.gson.Gson gson, LoggerEx log)
-
-
Method Detail
-
receive
public void receive(MessageChannel channel, java.lang.String protocol, java.io.Reader payload)
-
register
public <T> void register(java.lang.String protocol, java.util.function.BiConsumer<MessageChannel,T> handler, java.lang.Class<T> clazz)
-
handles
public boolean handles(java.lang.String protocol)
-
onFatalError
protected void onFatalError(MessageChannel channel, java.lang.String message)
-
onFatalError
protected void onFatalError(MessageChannel channel, java.lang.String message, java.lang.Throwable t)
-
trySend
public void trySend(MessageChannel channel, java.lang.String protocol, com.inductiveautomation.ignition.common.gson.JsonObject payload)
Handy wrapper around MessageChannel.send that logs a warning upon failure.
-
trySend
public void trySend(MessageChannel channel, java.lang.String protocol, java.lang.Object payload)
Handy wrapper around MessageChannel.send that logs a warning upon failure.- Parameters:
payload- An object that will be gson-serialized automatically.
-
trySendInternal
public void trySendInternal(MessageChannel channel, java.lang.String protocol, java.lang.String payload)
-
-