public abstract class Transporter extends MoleculerComponent
| Modifier and Type | Field and Description |
|---|---|
protected java.util.concurrent.ScheduledFuture<?> |
checkTimeoutTimer
Cancelable "Check Activities / Infos" timer
|
protected boolean |
debug
Writes the communication of method calls and events into the log.
|
protected boolean |
debugHeartbeats
Writes the communication of heartbeats/gossiping into the log.
|
java.lang.String |
disconnectChannel |
java.lang.String |
discoverBroadcastChannel |
java.lang.String |
discoverChannel |
protected Eventbus |
eventbus |
java.lang.String |
eventChannel |
protected java.util.concurrent.ExecutorService |
executor |
java.lang.String |
heartbeatChannel |
protected int |
heartbeatInterval
Heartbeat sending period in SECONDS.
|
protected int |
heartbeatTimeout
Heartbeat timeout in SECONDS.
|
protected java.util.concurrent.ScheduledFuture<?> |
heartBeatTimer
Cancelable "Heart Beat" timer
|
java.lang.String |
infoBroadcastChannel |
java.lang.String |
infoChannel |
protected java.util.concurrent.atomic.AtomicBoolean |
infoScheduled |
protected Monitor |
monitor |
protected java.lang.String |
namespace |
protected java.lang.String |
nodeID |
protected java.util.concurrent.ConcurrentHashMap<java.lang.String,NodeDescriptor> |
nodes |
protected int |
offlineTimeout
How long keep information in registry about the offline nodes (SECONDS).
|
static java.lang.String |
PACKET_DISCONNECT |
static java.lang.String |
PACKET_DISCOVER |
static java.lang.String |
PACKET_EVENT |
static java.lang.String |
PACKET_HEARTBEAT |
static java.lang.String |
PACKET_INFO |
static java.lang.String |
PACKET_PING |
static java.lang.String |
PACKET_PONG |
static java.lang.String |
PACKET_REQUEST |
static java.lang.String |
PACKET_RESPONSE |
java.lang.String |
pingChannel |
java.lang.String |
pongChannel |
protected boolean |
preferHostname
Use hostnames instead of IP addresses As the DHCP environment is dynamic,
any later attempt to use IPs instead hostnames would most likely yield
false results.
|
protected java.lang.String |
prefix |
protected ServiceRegistry |
registry |
java.lang.String |
requestChannel |
java.lang.String |
responseChannel |
protected java.util.concurrent.ScheduledExecutorService |
scheduler |
protected Serializer |
serializer |
protected ServiceInvoker |
serviceInvoker |
protected int |
subscriptionTimeout
Timeout of channel subscriptions (SECONDS).
|
protected UidGenerator |
uidGenerator |
protected boolean |
usingJsonSerializer |
broker, logger, name| Constructor and Description |
|---|
Transporter() |
Transporter(Serializer serializer) |
| Modifier and Type | Method and Description |
|---|---|
void |
broadcastInfoPacket() |
protected void |
broadcastNodeConnected(io.datatree.Tree info,
boolean reconnected) |
protected void |
broadcastNodeDisconnected(io.datatree.Tree info,
boolean unexpected) |
protected void |
broadcastNodeUpdated(io.datatree.Tree info) |
protected java.lang.String |
channel(java.lang.String cmd,
java.lang.String nodeID) |
protected void |
checkTimeouts() |
abstract void |
connect() |
protected void |
connected() |
protected void |
connected(boolean waitFor) |
io.datatree.Tree |
createPingPacket(java.lang.String id) |
protected void |
error(java.lang.Throwable error)
Any I/O error occurred.
|
RemoteAddress |
getAddress(java.lang.String nodeID) |
java.util.Set<java.lang.String> |
getAllNodeIDs() |
int |
getCpuUsage(java.lang.String nodeID) |
io.datatree.Tree |
getDescriptor(java.lang.String nodeID) |
int |
getHeartbeatInterval() |
int |
getHeartbeatTimeout() |
long |
getLastHeartbeatTime(java.lang.String nodeID) |
java.lang.String |
getNamespace() |
int |
getOfflineTimeout() |
java.lang.String |
getPrefix() |
Serializer |
getSerializer() |
int |
getSubscriptionTimeout() |
boolean |
isDebug() |
boolean |
isDebugHeartbeats() |
boolean |
isOnline(java.lang.String nodeID) |
boolean |
isPreferHostname() |
protected void |
processReceivedMessage(java.lang.String channel,
byte[] message)
Process incoming message directly (without new Task).
|
void |
publish(java.lang.String cmd,
java.lang.String nodeID,
io.datatree.Tree message) |
abstract void |
publish(java.lang.String channel,
io.datatree.Tree message) |
protected void |
received(java.lang.String channel,
byte[] message)
Process incoming message later (in a new Runnable or JoinForkTask).
|
void |
sendClosePacket(java.lang.String cmd,
java.lang.String nodeID,
Context ctx,
long sequence) |
void |
sendDataPacket(java.lang.String cmd,
java.lang.String nodeID,
Context ctx,
byte[] bytes,
long sequence) |
protected void |
sendDisconnectPacket() |
protected void |
sendDiscoverPacket(java.lang.String channel) |
void |
sendErrorPacket(java.lang.String cmd,
java.lang.String nodeID,
Context ctx,
java.lang.Throwable cause,
long sequence) |
void |
sendEventPacket(java.lang.String nodeID,
Context ctx,
Groups groups,
boolean broadcast) |
protected void |
sendHeartbeatPacket() |
protected void |
sendInfoPacket(java.lang.String channel) |
protected void |
sendPongPacket(java.lang.String channel,
io.datatree.Tree data) |
void |
sendRequestPacket(java.lang.String nodeID,
Context ctx) |
void |
setDebug(boolean debug) |
void |
setDebugHeartbeats(boolean debugHeartbeats) |
void |
setHeartbeatInterval(int heartbeatInterval) |
void |
setHeartbeatTimeout(int heartbeatTimeout) |
void |
setNamespace(java.lang.String namespace) |
void |
setOfflineTimeout(int offlineTimeout) |
void |
setPreferHostname(boolean preferHostname) |
void |
setPrefix(java.lang.String prefix) |
void |
setSerializer(Serializer serializer) |
void |
setSubscriptionTimeout(int subscriptionTimeout) |
void |
started(ServiceBroker broker)
Initializes transporter instance.
|
void |
stopped()
Closes transporter.
|
abstract io.datatree.Promise |
subscribe(java.lang.String channel) |
io.datatree.Promise |
subscribe(java.lang.String cmd,
java.lang.String nodeID) |
protected void |
updateNodeInfo(java.lang.String sender,
io.datatree.Tree info) |
getBroker, getLogger, getNamepublic static final java.lang.String PACKET_EVENT
public static final java.lang.String PACKET_REQUEST
public static final java.lang.String PACKET_RESPONSE
public static final java.lang.String PACKET_DISCOVER
public static final java.lang.String PACKET_INFO
public static final java.lang.String PACKET_DISCONNECT
public static final java.lang.String PACKET_HEARTBEAT
public static final java.lang.String PACKET_PING
public static final java.lang.String PACKET_PONG
public java.lang.String eventChannel
public java.lang.String requestChannel
public java.lang.String responseChannel
public java.lang.String discoverBroadcastChannel
public java.lang.String discoverChannel
public java.lang.String infoBroadcastChannel
public java.lang.String infoChannel
public java.lang.String disconnectChannel
public java.lang.String heartbeatChannel
public java.lang.String pingChannel
public java.lang.String pongChannel
protected java.lang.String namespace
protected java.lang.String prefix
protected java.lang.String nodeID
protected int heartbeatInterval
protected int heartbeatTimeout
protected int offlineTimeout
protected int subscriptionTimeout
protected boolean preferHostname
protected boolean debug
protected boolean debugHeartbeats
protected Serializer serializer
protected boolean usingJsonSerializer
protected java.util.concurrent.ExecutorService executor
protected java.util.concurrent.ScheduledExecutorService scheduler
protected ServiceRegistry registry
protected ServiceInvoker serviceInvoker
protected Eventbus eventbus
protected Monitor monitor
protected UidGenerator uidGenerator
protected volatile java.util.concurrent.ScheduledFuture<?> heartBeatTimer
protected volatile java.util.concurrent.ScheduledFuture<?> checkTimeoutTimer
protected final java.util.concurrent.ConcurrentHashMap<java.lang.String,NodeDescriptor> nodes
protected final java.util.concurrent.atomic.AtomicBoolean infoScheduled
public Transporter()
public Transporter(Serializer serializer)
public void started(ServiceBroker broker) throws java.lang.Exception
started in class MoleculerComponentbroker - parent ServiceBrokerjava.lang.Exceptionprotected java.lang.String channel(java.lang.String cmd,
java.lang.String nodeID)
public abstract void connect()
protected void connected()
protected void connected(boolean waitFor)
public void stopped()
stopped in class MoleculerComponentprotected void sendInfoPacket(java.lang.String channel)
protected void sendDiscoverPacket(java.lang.String channel)
protected void sendHeartbeatPacket()
protected void sendDisconnectPacket()
protected void sendPongPacket(java.lang.String channel,
io.datatree.Tree data)
public io.datatree.Tree createPingPacket(java.lang.String id)
public void sendEventPacket(java.lang.String nodeID,
Context ctx,
Groups groups,
boolean broadcast)
public void sendRequestPacket(java.lang.String nodeID,
Context ctx)
public void sendDataPacket(java.lang.String cmd,
java.lang.String nodeID,
Context ctx,
byte[] bytes,
long sequence)
public void sendErrorPacket(java.lang.String cmd,
java.lang.String nodeID,
Context ctx,
java.lang.Throwable cause,
long sequence)
public void sendClosePacket(java.lang.String cmd,
java.lang.String nodeID,
Context ctx,
long sequence)
public void publish(java.lang.String cmd,
java.lang.String nodeID,
io.datatree.Tree message)
public abstract void publish(java.lang.String channel,
io.datatree.Tree message)
public io.datatree.Promise subscribe(java.lang.String cmd,
java.lang.String nodeID)
public abstract io.datatree.Promise subscribe(java.lang.String channel)
protected void received(java.lang.String channel,
byte[] message)
channel - incoming channelmessage - incoming messageprotected void processReceivedMessage(java.lang.String channel,
byte[] message)
channel - incoming channelmessage - incoming messageprotected void updateNodeInfo(java.lang.String sender,
io.datatree.Tree info)
throws java.lang.Exception
java.lang.Exceptionprotected void broadcastNodeConnected(io.datatree.Tree info,
boolean reconnected)
protected void broadcastNodeUpdated(io.datatree.Tree info)
protected void broadcastNodeDisconnected(io.datatree.Tree info,
boolean unexpected)
public void broadcastInfoPacket()
protected void checkTimeouts()
public int getCpuUsage(java.lang.String nodeID)
public long getLastHeartbeatTime(java.lang.String nodeID)
public boolean isOnline(java.lang.String nodeID)
public java.util.Set<java.lang.String> getAllNodeIDs()
public io.datatree.Tree getDescriptor(java.lang.String nodeID)
public RemoteAddress getAddress(java.lang.String nodeID)
protected void error(java.lang.Throwable error)
error - I/O errorpublic Serializer getSerializer()
public void setSerializer(Serializer serializer)
public int getHeartbeatInterval()
public void setHeartbeatInterval(int heartbeatInterval)
public int getHeartbeatTimeout()
public void setHeartbeatTimeout(int heartbeatTimeout)
public boolean isDebug()
public void setDebug(boolean debug)
public int getOfflineTimeout()
public void setOfflineTimeout(int offlineTimeout)
public java.lang.String getNamespace()
public void setNamespace(java.lang.String namespace)
public java.lang.String getPrefix()
public void setPrefix(java.lang.String prefix)
public boolean isPreferHostname()
public void setPreferHostname(boolean preferHostname)
public int getSubscriptionTimeout()
public void setSubscriptionTimeout(int subscriptionTimeout)
public boolean isDebugHeartbeats()
public void setDebugHeartbeats(boolean debugHeartbeats)