|
Openfire 3.5.2 Javadoc | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jivesoftware.openfire.nio.NIOConnection
public class NIOConnection
Implementation of Connection
inteface specific for NIO connections when using
the MINA framework.
MINA project can be found at here.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.jivesoftware.openfire.Connection |
---|
Connection.ClientAuth, Connection.CompressionPolicy, Connection.TLSPolicy |
Field Summary | |
---|---|
static String |
CHARSET
The utf-8 charset for decoding and encoding XMPP packet streams. |
Constructor Summary | |
---|---|
NIOConnection(org.apache.mina.common.IoSession session,
PacketDeliverer packetDeliverer)
|
Method Summary | |
---|---|
void |
addCompression()
Adds the compression filter to the connection but only filter incoming traffic. |
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. |
byte[] |
getAddress()
Returns the raw IP address of this InetAddress
object. |
Connection.CompressionPolicy |
getCompressionPolicy()
Returns whether compression is optional or is disabled. |
String |
getHostAddress()
Returns the IP address string in textual presentation. |
String |
getHostName()
Gets the host name for this IP address. |
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. |
SSLSession |
getSSLSession()
Returns the underlying SSLSession for the connection. |
Connection.TLSPolicy |
getTlsPolicy()
Returns whether TLS is mandatory, optional or is disabled. |
void |
init(LocalSession 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 ignore)
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 |
setLanaguage(String language)
Sets the language code that should be used for this connection (e.g. |
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 compressing outgoing traffic for this connection. |
void |
startTLS(boolean clientMode,
String remoteServer,
Connection.ClientAuth authentication)
Secures the plain connection by negotiating TLS with the other peer. |
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 NIOConnection(org.apache.mina.common.IoSession session, PacketDeliverer packetDeliverer)
Method Detail |
---|
public boolean validate()
Connection
validate
in interface Connection
public void registerCloseListener(ConnectionCloseListener listener, Object ignore)
Connection
registerCloseListener
in interface Connection
listener
- the listener to register for events.ignore
- the object to send in the event notification.public void removeCloseListener(ConnectionCloseListener listener)
Connection
removeCloseListener
in interface Connection
listener
- the listener to deregister for close events.public byte[] getAddress() throws UnknownHostException
Connection
InetAddress
object. The result is in network byte order: the highest order
byte of the address is in getAddress()[0]
.
getAddress
in interface Connection
UnknownHostException
- if IP address of host could not be determined.public String getHostAddress() throws UnknownHostException
Connection
getHostAddress
in interface Connection
UnknownHostException
- if IP address of host could not be determined.public String getHostName() throws UnknownHostException
Connection
If this InetAddress was created with a host name,
this host name will be remembered and returned;
otherwise, a reverse name lookup will be performed
and the result will be returned based on the system
configured name lookup service. If a lookup of the name service
is required, call
getCanonicalHostName
.
If there is a security manager, its
checkConnect
method is first called
with the hostname and -1
as its arguments to see if the operation is allowed.
If the operation is not allowed, it will return
the textual representation of the IP address.
getHostName
in interface Connection
UnknownHostException
- if IP address of host could not be determined.InetAddress.getCanonicalHostName()
,
SecurityManager.checkConnect(java.lang.String, int)
public SSLSession getSSLSession()
Connection
SSLSession
for the connection.
getSSLSession
in interface Connection
SSLSession
is initialized yet.public PacketDeliverer getPacketDeliverer()
Connection
getPacketDeliverer
in interface Connection
public void close()
Connection
close
in interface Connection
public void systemShutdown()
Connection
systemShutdown
in interface Connection
public void init(LocalSession owner)
Connection
init
in interface Connection
owner
- the session that owns this connectionpublic boolean isClosed()
Connection
isClosed
in interface Connection
public boolean isSecure()
Connection
isSecure
in interface Connection
public void deliver(Packet packet) throws UnauthorizedException
Connection
socket.send(packet.getWriteBuffer())
.
deliver
in interface Connection
packet
- the packet to deliver.
UnauthorizedException
- if a permission error was detected.public void deliverRawText(String text)
Connection
Connection.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 Connection
text
- the XML stanzas represented kept in a String.public void startTLS(boolean clientMode, String remoteServer, Connection.ClientAuth authentication) throws Exception
Connection
true
in the clientMode parameter and the server
receiving the TLS request must pass false
in the clientMode parameter.
Both servers should specify the xmpp domain of the other server in the remoteServer
parameter.
In the case of client-2-server the XMPP server must pass false
in the
clientMode parameter since it will behave as the server in the TLS negotiation. The
remoteServer parameter will always be null.
startTLS
in interface Connection
clientMode
- boolean indicating if this entity is a client or a server in the TLS negotiation.remoteServer
- xmpp domain of the remote server or null. When null a
ClientTrustManager
will be used for verifying certificates
otherwise a ServerTrustManager
will be used.authentication
- policy to use for authenticating the remote peer.
Exception
- if an error occured while securing the connection.public void addCompression()
Connection
addCompression
in interface Connection
public void startCompression()
Connection
startCompression
in interface Connection
public boolean isFlashClient()
Connection
isFlashClient
in interface Connection
public void setFlashClient(boolean flashClient)
Connection
setFlashClient
in interface Connection
flashClient
- true if the if the connection is a flash client.public int getMajorXMPPVersion()
Connection
getMajorXMPPVersion
in interface Connection
public int getMinorXMPPVersion()
Connection
getMinorXMPPVersion
in interface Connection
public void setXMPPVersion(int majorVersion, int minorVersion)
Connection
setXMPPVersion
in interface Connection
majorVersion
- the major version.minorVersion
- the minor version.public String getLanguage()
Connection
getLanguage
in interface Connection
public void setLanaguage(String language)
Connection
setLanaguage
in interface Connection
language
- the language code.public boolean isCompressed()
Connection
isCompressed
in interface Connection
public Connection.CompressionPolicy getCompressionPolicy()
Connection
getCompressionPolicy
in interface Connection
public void setCompressionPolicy(Connection.CompressionPolicy compressionPolicy)
Connection
setCompressionPolicy
in interface Connection
compressionPolicy
- whether Compression is enabled or is disabled.public Connection.TLSPolicy getTlsPolicy()
Connection
getTlsPolicy
in interface Connection
public void setTlsPolicy(Connection.TLSPolicy tlsPolicy)
Connection
setTlsPolicy
in interface Connection
tlsPolicy
- whether TLS is mandatory, optional or is disabled.public String toString()
toString
in class Object
|
Openfire 3.5.2 Javadoc | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |