@Bean(name="urn:xmpp:sm:3", parent=ClientConnectionManager.class, active=true) public class StreamManagementIOProcessor extends Object implements XMPPIOProcessor
Modifier and Type | Class and Description |
---|---|
static class |
StreamManagementIOProcessor.Counter
Counter class implements proper counter with overflow from 2^32-1 to 0
|
static class |
StreamManagementIOProcessor.OutQueue
OutQueue class implements queue of outgoing packets waiting for ack with implementation of removing acked
elements when id of acked packet is passed
|
Constructor and Description |
---|
StreamManagementIOProcessor() |
Modifier and Type | Method and Description |
---|---|
String |
getId()
Returns identifier of processor
|
void |
getStatistics(StatisticsList list)
Returns statistics generated by this processor
|
static boolean |
isEnabled(XMPPIOService service)
Method returns true if XMPPIOService has enabled SM.
|
protected StreamManagementIOProcessor.Counter |
newCounter() |
protected StreamManagementIOProcessor.OutQueue |
newOutQueue() |
void |
packetsSent(XMPPIOService service)
Method is called when all waiting data was written to socket.
|
void |
processCommand(XMPPIOService service,
Packet pc)
Process command execution which may be sent from other component and should be processed by processor
|
boolean |
processIncoming(XMPPIOService service,
Packet packet)
Process packets read from socket as they are sent to SessionManager.
|
boolean |
processOutgoing(XMPPIOService service,
Packet packet)
Process outgoing packets as they are added to XMPPIOService outgoing packets queue.
|
boolean |
serviceStopped(XMPPIOService service,
boolean streamClosed)
Method called when XMPPIOService is closed.
|
protected boolean |
shouldRequestAck(XMPPIOService service,
StreamManagementIOProcessor.OutQueue outQueue)
Override this method to define a custom behaviour for request ack.
|
void |
streamError(XMPPIOService service,
StreamError streamErrorName)
Method called when XMPP stream error is about to be sent
|
Element[] |
supStreamFeatures(XMPPIOService service)
Returns array of features added by this processor
|
public static final String XMLNS
public static boolean isEnabled(XMPPIOService service)
public String getId()
XMPPIOProcessor
getId
in interface XMPPIOProcessor
public Element[] supStreamFeatures(XMPPIOService service)
XMPPIOProcessor
supStreamFeatures
in interface XMPPIOProcessor
public boolean processIncoming(XMPPIOService service, Packet packet)
XMPPIOProcessor
processIncoming
in interface XMPPIOProcessor
public boolean processOutgoing(XMPPIOService service, Packet packet)
XMPPIOProcessor
processOutgoing
in interface XMPPIOProcessor
public void packetsSent(XMPPIOService service) throws IOException
XMPPIOProcessor
packetsSent
in interface XMPPIOProcessor
IOException
public void processCommand(XMPPIOService service, Packet pc)
XMPPIOProcessor
processCommand
in interface XMPPIOProcessor
public boolean serviceStopped(XMPPIOService service, boolean streamClosed)
XMPPIOProcessor
serviceStopped
in interface XMPPIOProcessor
public void getStatistics(StatisticsList list)
XMPPIOProcessor
getStatistics
in interface XMPPIOProcessor
public void streamError(XMPPIOService service, StreamError streamErrorName)
XMPPIOProcessor
streamError
in interface XMPPIOProcessor
protected boolean shouldRequestAck(XMPPIOService service, StreamManagementIOProcessor.OutQueue outQueue)
ack_request_count
packets waiting, so you probably want to OR your behaviour with
this.protected StreamManagementIOProcessor.Counter newCounter()
protected StreamManagementIOProcessor.OutQueue newOutQueue()
Copyright © 2004–2020 "Tigase, Inc.". All rights reserved.