public interface CommunicationSpi<T extends Serializable> extends IgniteSpi
Communication SPI is one of the most important SPI in Ignite. It is used heavily throughout the system and provides means for all data exchanges between nodes, such as internal implementation details and user driven messages.
Functionality to this SPI is exposed directly in Ignite
interface:
Ignite comes with built-in communication SPI implementations:
NOTE: this SPI (i.e. methods in this interface) should never be used directly. SPIs provide internal view on the subsystem and is used internally by Ignite kernal. In rare use cases when access to a specific implementation of this SPI is required - an instance of this SPI can be obtained viaIgnite.configuration()
method to check its configuration properties or call other non-SPI
methods. Note again that calling methods from this interface on the obtained instance can lead
to undefined behavior and explicitly not supported.Modifier and Type | Method and Description |
---|---|
int |
getOutboundMessagesQueueSize()
Gets outbound messages queue size.
|
long |
getReceivedBytesCount()
Gets received bytes count.
|
int |
getReceivedMessagesCount()
Gets received messages count.
|
long |
getSentBytesCount()
Gets sent bytes count.
|
int |
getSentMessagesCount()
Gets sent messages count.
|
void |
resetMetrics()
Resets metrics for this SPI instance.
|
void |
sendMessage(ClusterNode destNode,
T msg)
Sends given message to destination node.
|
void |
setListener(@Nullable CommunicationListener<T> lsnr)
Set communication listener.
|
getName, getNodeAttributes, onClientDisconnected, onClientReconnected, onContextDestroyed, onContextInitialized, spiStart, spiStop
void sendMessage(ClusterNode destNode, T msg) throws IgniteSpiException
destNode
- Destination node.msg
- Message to send.IgniteSpiException
- Thrown in case of any error during sending the message.
Note that this is not guaranteed that failed communication will result
in thrown exception as this is dependant on SPI implementation.int getSentMessagesCount()
long getSentBytesCount()
int getReceivedMessagesCount()
long getReceivedBytesCount()
int getOutboundMessagesQueueSize()
void resetMetrics()
void setListener(@Nullable @Nullable CommunicationListener<T> lsnr)
lsnr
- Listener to set or null
to unset the listener.
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 2.7.2 Release Date : February 6 2019