|
Wildfire 3.2.4 Javadoc | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.jivesoftware.wildfire.net.SocketConnection
public class SocketConnection
An object to track the state of a XMPP client-server session. Currently this class contains the socket channel connecting the client and server.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.jivesoftware.wildfire.Connection |
|---|
Connection.CompressionPolicy, Connection.TLSPolicy |
| Field Summary | |
|---|---|
static String |
CHARSET
The utf-8 charset for decoding and encoding XMPP packet streams. |
| Constructor Summary | |
|---|---|
SocketConnection(PacketDeliverer backupDeliverer,
Socket socket,
boolean isSecure)
Create a new session using the supplied socket. |
|
| Method Summary | |
|---|---|
void |
close()
Close this session including associated socket connection. |
void |
deliver(Packet packet)
Delivers the packet to this connection without checking the recipient. |
void |
deliverRawText(String text)
Delivers raw text to this connection. |
Connection.CompressionPolicy |
getCompressionPolicy()
Returns whether compression is optional or is disabled. |
long |
getIdleTimeout()
|
InetAddress |
getInetAddress()
Returns the InetAddress describing the connection. |
static Collection<SocketConnection> |
getInstances()
|
String |
getLanguage()
Returns the language code that should be used for this connection (e.g. |
int |
getMajorXMPPVersion()
Returns the major version of XMPP being used by this connection (major_version.minor_version. |
int |
getMinorXMPPVersion()
Returns the minor version of XMPP being used by this connection (major_version.minor_version. |
PacketDeliverer |
getPacketDeliverer()
Returns the packet deliverer to use when delivering a packet over the socket fails. |
int |
getPort()
Returns the port that the connection uses. |
SSLSession |
getSSLSession()
|
Connection.TLSPolicy |
getTlsPolicy()
Returns whether TLS is mandatory, optional or is disabled. |
TLSStreamHandler |
getTLSStreamHandler()
Returns the stream handler responsible for securing the plain connection and providing the corresponding input and output streams. |
Writer |
getWriter()
Returns the Writer used to send data to the connection. |
void |
init(Session owner)
Initializes the connection with it's owning session. |
boolean |
isClosed()
Returns true if the connection/session is closed. |
boolean |
isCompressed()
Returns true if the connection is using compression. |
boolean |
isFlashClient()
Returns true if the connected client is a flash client. |
boolean |
isSecure()
Returns true if this connection is secure. |
void |
registerCloseListener(ConnectionCloseListener listener,
Object handbackMessage)
Registers a listener for close event notification. |
void |
removeCloseListener(ConnectionCloseListener listener)
Removes a registered close event listener. |
void |
setCompressionPolicy(Connection.CompressionPolicy compressionPolicy)
Sets whether compression is enabled or is disabled. |
void |
setFlashClient(boolean flashClient)
Sets whether the connected client is a flash client. |
void |
setIdleTimeout(long timeout)
Sets the number of milliseconds a connection has to be idle to be closed. |
void |
setLanaguage(String language)
Sets the language code that should be used for this connection (e.g. |
void |
setSocketReader(SocketReader socketReader)
|
void |
setTlsPolicy(Connection.TLSPolicy tlsPolicy)
Sets whether TLS is mandatory, optional or is disabled. |
void |
setXMPPVersion(int majorVersion,
int minorVersion)
Sets the XMPP version information. |
void |
startCompression()
Start using compression for this connection. |
void |
startTLS(boolean clientMode,
String remoteServer)
Secures the plain connection by negotiating TLS with the client. |
void |
systemShutdown()
Notification message indicating that the server is being shutdown. |
String |
toString()
|
boolean |
validate()
Verifies that the connection is still live. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final String CHARSET
| Constructor Detail |
|---|
public SocketConnection(PacketDeliverer backupDeliverer,
Socket socket,
boolean isSecure)
throws IOException
backupDeliverer - the packet deliverer this connection will use when socket is closed.socket - the socket to represent.isSecure - true if this is a secure connection.
IOException - if there was a socket error while sending the packet.| Method Detail |
|---|
public static Collection<SocketConnection> getInstances()
public TLSStreamHandler getTLSStreamHandler()
public void startTLS(boolean clientMode,
String remoteServer)
throws IOException
Connectiontrue and
remoteServer is the server name of the remote server. Otherwise clientMode
will be false and remoteServer null.
startTLS in interface ConnectionclientMode - boolean indicating if this entity is a client or a server.remoteServer - server name of the remote server we are connecting to or null
when not in client mode.
IOExceptionpublic void startCompression()
Connection
startCompression in interface Connectionpublic boolean validate()
Connection
validate in interface Connectionpublic void init(Session owner)
Connection
init in interface Connectionowner - the session that owns this connection
public void registerCloseListener(ConnectionCloseListener listener,
Object handbackMessage)
Connection
registerCloseListener in interface Connectionlistener - the listener to register for events.handbackMessage - the object to send in the event notification.public void removeCloseListener(ConnectionCloseListener listener)
Connection
removeCloseListener in interface Connectionlistener - the listener to deregister for close events.public InetAddress getInetAddress()
Connection
getInetAddress in interface Connectionpublic int getPort()
public Writer getWriter()
deliver(Packet)
method should be used to send data instead of using the writer directly.
You must synchronize on the writer before writing data to it to ensure
data consistency:
Writer writer = connection.getWriter();
synchronized(writer) {
// write data....
}
public boolean isClosed()
Connection
isClosed in interface Connectionpublic boolean isSecure()
Connection
isSecure in interface Connectionpublic boolean isCompressed()
Connection
isCompressed in interface Connectionpublic Connection.TLSPolicy getTlsPolicy()
Connection
getTlsPolicy in interface Connectionpublic void setTlsPolicy(Connection.TLSPolicy tlsPolicy)
setTlsPolicy in interface ConnectiontlsPolicy - whether TLS is mandatory, optional or is disabled.public Connection.CompressionPolicy getCompressionPolicy()
Connection
getCompressionPolicy in interface Connectionpublic void setCompressionPolicy(Connection.CompressionPolicy compressionPolicy)
setCompressionPolicy in interface ConnectioncompressionPolicy - whether Compression is enabled or is disabled.public long getIdleTimeout()
public void setIdleTimeout(long timeout)
timeout - the number of milliseconds a connection has to be idle to be closed.public int getMajorXMPPVersion()
Connection
getMajorXMPPVersion in interface Connectionpublic int getMinorXMPPVersion()
Connection
getMinorXMPPVersion in interface Connection
public void setXMPPVersion(int majorVersion,
int minorVersion)
setXMPPVersion in interface ConnectionmajorVersion - the major version.minorVersion - the minor version.public String getLanguage()
Connection
getLanguage in interface Connectionpublic void setLanaguage(String language)
setLanaguage in interface Connectionlanguage - the language code.public boolean isFlashClient()
Connection
isFlashClient in interface Connectionpublic void setFlashClient(boolean flashClient)
setFlashClient in interface ConnectionflashClient - true if the if the connection is a flash client.public SSLSession getSSLSession()
public PacketDeliverer getPacketDeliverer()
Connection
getPacketDeliverer in interface Connectionpublic void close()
Connection
close in interface Connectionpublic void systemShutdown()
Connection
systemShutdown in interface Connection
public void deliver(Packet packet)
throws UnauthorizedException,
PacketException
Connectionsocket.send(packet.getWriteBuffer()).
deliver in interface Connectionpacket - the packet to deliver.
UnauthorizedException - if a permission error was detected.
PacketExceptionpublic void deliverRawText(String text)
ConnectionConnection.deliver(org.xmpp.packet.Packet).This method avoids having to get the writer of this connection and mess directly with the writer. Therefore, this method ensures a correct delivery of the stanza even if other threads were sending data concurrently.
deliverRawText in interface Connectiontext - the XML stanzas represented kept in a String.public String toString()
toString in class Objectpublic void setSocketReader(SocketReader socketReader)
|
Wildfire 3.2.4 Javadoc | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||