Package tigase.server.xmppclient
Class StreamManagementIOProcessor
java.lang.Object
tigase.server.xmppclient.StreamManagementIOProcessor
- All Implemented Interfaces:
XMPPIOProcessor
@Bean(name="urn:xmpp:sm:3",
parent=ClientConnectionManager.class,
active=true)
public class StreamManagementIOProcessor
extends Object
implements XMPPIOProcessor
Class implements XEP-0198 Stream Management
- Author:
- andrzej
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classCounter class implements proper counter with overflow from 2^32-1 to 0static classOutQueue class implements queue of outgoing packets waiting for ack with implementation of removing acked elements when id of acked packet is passedstatic class -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetId()Returns identifier of processorvoidgetStatistics(StatisticsList list) Returns statistics generated by this processorstatic booleanisEnabled(XMPPIOService service) Method returns true if XMPPIOService has enabled SM.protected booleanprotected StreamManagementIOProcessor.Counterprotected StreamManagementIOProcessor.OutQueuevoidpacketsSent(XMPPIOService service) Method is called when all waiting data was written to socket.voidprocessCommand(XMPPIOService service, Packet pc) Process command execution which may be sent from other component and should be processed by processorbooleanprocessIncoming(XMPPIOService service, Packet packet) Process packets read from socket as they are sent to SessionManager.booleanprocessOutgoing(XMPPIOService service, Packet packet) Process outgoing packets as they are added to XMPPIOService outgoing packets queue.booleanserviceStopped(XMPPIOService service, boolean streamClosed) Method called when XMPPIOService is closed.protected booleanshouldRequestAck(XMPPIOService service, StreamManagementIOProcessor.OutQueue outQueue) Override this method to define a custom behaviour for request ack.voidstreamError(XMPPIOService service, StreamError streamErrorName) Method called when XMPP stream error is about to be sentElement[]supStreamFeatures(XMPPIOService service) Returns array of features added by this processor
-
Field Details
-
XMLNS
- See Also:
-
-
Constructor Details
-
StreamManagementIOProcessor
public StreamManagementIOProcessor()
-
-
Method Details
-
isEnabled
Method returns true if XMPPIOService has enabled SM. -
getId
Description copied from interface:XMPPIOProcessorReturns identifier of processor- Specified by:
getIdin interfaceXMPPIOProcessor
-
supStreamFeatures
Description copied from interface:XMPPIOProcessorReturns array of features added by this processor- Specified by:
supStreamFeaturesin interfaceXMPPIOProcessor
-
processIncoming
Description copied from interface:XMPPIOProcessorProcess packets read from socket as they are sent to SessionManager.- Specified by:
processIncomingin interfaceXMPPIOProcessor- Returns:
- true if packet should not be forwarded
-
processOutgoing
Description copied from interface:XMPPIOProcessorProcess outgoing packets as they are added to XMPPIOService outgoing packets queue.- Specified by:
processOutgoingin interfaceXMPPIOProcessor- Returns:
- true if packet should be removed
-
packetsSent
Description copied from interface:XMPPIOProcessorMethod is called when all waiting data was written to socket.- Specified by:
packetsSentin interfaceXMPPIOProcessor- Throws:
IOException
-
processCommand
Description copied from interface:XMPPIOProcessorProcess command execution which may be sent from other component and should be processed by processor- Specified by:
processCommandin interfaceXMPPIOProcessor
-
serviceStopped
Description copied from interface:XMPPIOProcessorMethod called when XMPPIOService is closed.- Specified by:
serviceStoppedin interfaceXMPPIOProcessor- Returns:
- true if connecton manager should not be notified about stopping of this service
-
getStatistics
Description copied from interface:XMPPIOProcessorReturns statistics generated by this processor- Specified by:
getStatisticsin interfaceXMPPIOProcessor
-
streamError
Description copied from interface:XMPPIOProcessorMethod called when XMPP stream error is about to be sent- Specified by:
streamErrorin interfaceXMPPIOProcessor
-
shouldRequestAck
protected boolean shouldRequestAck(XMPPIOService service, StreamManagementIOProcessor.OutQueue outQueue) Override this method to define a custom behaviour for request ack. The default implementation will request an ack if there are more thanack_request_countpackets waiting since last request for ack and last ack request was not sent in last X ms. -
newCounter
-
newOutQueue
-
isStanza
-