Package tigase.server.websocket
Class WebSocketXMPPIOService<RefObject>
- java.lang.Object
-
- tigase.net.IOService<RefObject>
-
- tigase.xmpp.XMPPIOService<RefObject>
-
- tigase.server.websocket.WebSocketXMPPIOService<RefObject>
-
- All Implemented Interfaces:
java.util.concurrent.Callable<IOService<?>>,TLSEventHandler,IOListener
public class WebSocketXMPPIOService<RefObject> extends XMPPIOService<RefObject>
Class implements basic support for WebSocket protocol. It extends XMPPIOService so it can be used instead of XMPPIOService in ClientConnectionManager to allow web clients to connect to it without using BOSH extension.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classWebSocketXMPPIOService.Statestatic classWebSocketXMPPIOService.WebSocketXMPPSpec
-
Field Summary
Fields Modifier and Type Field Description protected longframeLengthprotected byte[]maskingKey-
Fields inherited from class tigase.xmpp.XMPPIOService
ACK_NAME, CROSS_DOMAIN_POLICY_FILE_PROP_KEY, CROSS_DOMAIN_POLICY_FILE_PROP_VAL, DOM_HANDLER, ID_ATT, parser, processors, REQ_NAME, serviceListener, STREAM_CLOSING, writeInProgress
-
Fields inherited from class tigase.net.IOService
cb, CERT_CHECK_RESULT, CERT_REQUIRED_DOMAIN, decoder, encoder, HOSTNAME_KEY, LOCAL_CERT_CHECK_RESULT, partialCharacterBytes, PORT_TYPE_PROP_KEY, SESSION_ID_KEY, SSL_PROTOCOLS_KEY
-
-
Constructor Summary
Constructors Constructor Description WebSocketXMPPIOService(WebSocketProtocolIfc[] enabledProtocols)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddReceivedPacket(Packet packet)MethodaddReceivedPacketputs processing results to queue.voiddumpHeaders(java.util.Map<java.lang.String,java.lang.String> headers)protected WebSocketXMPPIOService.StategetState()protected WebSocketXMPPIOService.WebSocketXMPPSpecgetWebSocketXMPPSpec()protected intparseHttpHeaders(byte[] buf, java.util.Map<java.lang.String,java.lang.String> headers)protected java.lang.StringprepareStreamClose()protected voidprocessSocketData()protected char[]readData()protected voidsetState(WebSocketXMPPIOService.State state)voidstop()protected voidwriteBytes(java.nio.ByteBuffer data)protected voidwriteData(java.lang.String data)Custom implementation of writeData function which encodes data in WebSocket protocol frames-
Methods inherited from class tigase.xmpp.XMPPIOService
addPacketToSend, call, checkBufferLimit, checkData, clearWaitingPackets, forceStop, getAuthorisedUserJid, getLastXmppPacketReceiveTime, getPacketsReceived, getPacketsSent, getReceivedPackets, getTotalPacketsReceived, getTotalPacketsSent, getUserJid, getWaitingForAct, getWaitingPackets, getXMLNS, hasParsedElements, moveParsedPacketsToReceived, processWaitingPackets, receivedPackets, setAckMode, setAuthorisedUserJid, setElementLimits, setIOServiceListener, setProcessors, setUserJid, setXMLNS, shouldCountPacket, toString, writeRawData, xmppStreamClosed, xmppStreamOpen, xmppStreamOpened
-
Methods inherited from class tigase.net.IOService
accept, byteOrder, connectionType, debug, debug, getBuffOverflow, getBytesReceived, getBytesSent, getCertificateContainer, getConnectionId, getDataReceiver, getIO, getLastTransferTime, getLocalAddress, getLocalCertificate, getLocalPort, getPeerCertificate, getReadCounters, getRefObject, getRemoteAddress, getSessionData, getSocketChannel, getSocketInputSize, getStatistics, getTlsUniqueId, getTotalBuffOverflow, getTotalBytesReceived, getTotalBytesSent, getUniqueId, getWriteCounters, handleMalformedInput, handshakeCompleted, isConnected, isInputBufferEmpty, isSocketServiceReady, readBytes, readCompleted, setBufferLimit, setCertificateContainer, setConnectionId, setDataReceiver, setIOServiceListener, setRefObject, setSessionData, setSocketServiceReady, setSslContextContainer, setX509TrustManagers, startSSL, startTLS, startZLib, waitingToRead, waitingToSend, waitingToSendSize
-
-
-
-
Constructor Detail
-
WebSocketXMPPIOService
public WebSocketXMPPIOService(WebSocketProtocolIfc[] enabledProtocols)
-
-
Method Detail
-
stop
public void stop()
- Overrides:
stopin classXMPPIOService<RefObject>
-
dumpHeaders
public void dumpHeaders(java.util.Map<java.lang.String,java.lang.String> headers)
-
getState
protected WebSocketXMPPIOService.State getState()
-
setState
protected void setState(WebSocketXMPPIOService.State state)
-
addReceivedPacket
protected void addReceivedPacket(Packet packet)
Description copied from class:XMPPIOServiceMethodaddReceivedPacketputs processing results to queue. The processing results are usually data (messages) which has been just received from socket.- Overrides:
addReceivedPacketin classXMPPIOService<RefObject>- Parameters:
packet- aPacketvalue of processing results.
-
processSocketData
protected void processSocketData() throws java.io.IOException- Overrides:
processSocketDatain classXMPPIOService<RefObject>- Throws:
java.io.IOException
-
getWebSocketXMPPSpec
protected WebSocketXMPPIOService.WebSocketXMPPSpec getWebSocketXMPPSpec()
-
prepareStreamClose
protected java.lang.String prepareStreamClose()
- Overrides:
prepareStreamClosein classXMPPIOService<RefObject>
-
readData
protected char[] readData() throws java.io.IOException
-
writeData
protected void writeData(java.lang.String data)
Custom implementation of writeData function which encodes data in WebSocket protocol frames
-
parseHttpHeaders
protected int parseHttpHeaders(byte[] buf, java.util.Map<java.lang.String,java.lang.String> headers)
-
writeBytes
protected void writeBytes(java.nio.ByteBuffer data)
- Overrides:
writeBytesin classIOService<RefObject>
-
-