@Bean(name="urn:xmpp:sm:3", parent=ClientConnectionManager.class, active=false) 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)
service - public String getId()
XMPPIOProcessorgetId in interface XMPPIOProcessorpublic Element[] supStreamFeatures(XMPPIOService service)
XMPPIOProcessorsupStreamFeatures in interface XMPPIOProcessorpublic boolean processIncoming(XMPPIOService service, Packet packet)
XMPPIOProcessorprocessIncoming in interface XMPPIOProcessorpublic boolean processOutgoing(XMPPIOService service, Packet packet)
XMPPIOProcessorprocessOutgoing in interface XMPPIOProcessorpublic void packetsSent(XMPPIOService service) throws IOException
XMPPIOProcessorpacketsSent in interface XMPPIOProcessorIOExceptionpublic void processCommand(XMPPIOService service, Packet pc)
XMPPIOProcessorprocessCommand in interface XMPPIOProcessorpublic boolean serviceStopped(XMPPIOService service, boolean streamClosed)
XMPPIOProcessorserviceStopped in interface XMPPIOProcessorpublic void getStatistics(StatisticsList list)
XMPPIOProcessorgetStatistics in interface XMPPIOProcessorpublic void streamError(XMPPIOService service, StreamError streamErrorName)
XMPPIOProcessorstreamError in interface XMPPIOProcessorprotected 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–2019 "Tigase, Inc.". All rights reserved.