public abstract class ConnectionBase extends java.lang.Object implements Connection
| Modifier and Type | Field and Description |
|---|---|
protected Messenger |
messenger |
protected IoSession |
session |
protected StatisticsImpl |
statistics |
| Constructor and Description |
|---|
ConnectionBase(ConnectionInformation connectionInformation) |
| Modifier and Type | Method and Description |
|---|---|
void |
addConnectionStateListener(ConnectionStateListener connectionStateListener) |
void |
cancelConnection()
Cancel an open connection ...
|
void |
connect()
Start the connection
|
void |
connect(CallbackHandler callbackHandler)
Start the connection with a callback handler
|
protected void |
connectFailed(ConnectFuture future,
java.lang.Throwable e)
called when a connection attempt failed
|
void |
disconnect()
request a disconnect
|
protected void |
disconnect(java.lang.Throwable error)
request a disconnect
|
void |
dispose()
Dispose the connection
|
void |
exceptionCaught(IoSession session,
java.lang.Throwable cause) |
protected void |
finalize() |
ConnectionInformation |
getConnectionInformation() |
int |
getConnectTimeout()
get the timeout used for connecting to the remote host
|
protected java.lang.Integer |
getIntProperty(java.lang.String propertyName,
java.lang.Integer defaultValue) |
int |
getMessageTimeout() |
int |
getPingPeriod() |
java.util.Map<java.lang.String,java.lang.String> |
getSessionProperties()
Return the session properties as provided by the server.
|
java.lang.Integer |
getSocketReceiveBufferSize() |
java.lang.Integer |
getSocketSendBufferSize() |
ConnectionState |
getState()
Get the current connection state
|
java.util.Collection<StatisticEntry> |
getStatistics() |
boolean |
isConnected() |
void |
messageReceived(IoSession session,
java.lang.Object message) |
void |
messageSent(IoSession session,
java.lang.Object message) |
protected void |
onConnectionBound() |
protected void |
onConnectionClosed() |
protected void |
onConnectionEstablished() |
protected void |
performConnect() |
protected void |
performLookup() |
void |
removeConnectionStateListener(ConnectionStateListener connectionStateListener) |
protected void |
resolvedRemoteAddress(java.net.SocketAddress address,
java.lang.Throwable e) |
void |
sessionClosed(IoSession session) |
void |
sessionCreated(IoSession session) |
void |
sessionIdle(IoSession session,
IdleStatus status) |
void |
sessionOpened(IoSession session) |
void |
setBound(java.util.Properties properties)
Set the
ConnectionState.BOUND including the session properties |
void |
setCallbackFactory(CallbackFactory callbackFactory) |
protected void |
setupConnector(ConnectionInformation connectionInformation,
IoConnector connector) |
protected void |
switchState(ConnectionState state,
java.lang.Throwable error,
java.util.Map<java.lang.String,java.lang.String> properties) |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddPrivilegeListener, getPrivileges, removePrivilegeListenerprotected volatile IoSession session
protected final Messenger messenger
protected final StatisticsImpl statistics
public ConnectionBase(ConnectionInformation connectionInformation)
public void setCallbackFactory(CallbackFactory callbackFactory)
setCallbackFactory in interface Connectionprotected void switchState(ConnectionState state, java.lang.Throwable error, java.util.Map<java.lang.String,java.lang.String> properties)
public void disconnect()
disconnect in interface Connectionprotected void disconnect(java.lang.Throwable error)
error - optionally the error that caused the request to closepublic ConnectionInformation getConnectionInformation()
getConnectionInformation in interface Connectionpublic void addConnectionStateListener(ConnectionStateListener connectionStateListener)
addConnectionStateListener in interface Connectionpublic void removeConnectionStateListener(ConnectionStateListener connectionStateListener)
removeConnectionStateListener in interface Connectionpublic ConnectionState getState()
ConnectiongetState in interface Connectionprotected void setupConnector(ConnectionInformation connectionInformation,
IoConnector connector)
public boolean isConnected()
public void connect(CallbackHandler callbackHandler)
Connectionconnect in interface Connectionpublic void connect()
Connectionconnect in interface Connectionprotected void performLookup()
protected void resolvedRemoteAddress(java.net.SocketAddress address,
java.lang.Throwable e)
protected void performConnect()
protected void connectFailed(ConnectFuture future,
java.lang.Throwable e)
future - e - the errorpublic void cancelConnection()
protected void onConnectionClosed()
protected void onConnectionEstablished()
public void setBound(java.util.Properties properties)
ConnectionState.BOUND including the session propertiesproperties - protected void onConnectionBound()
public void exceptionCaught(IoSession session,
java.lang.Throwable cause)
throws java.lang.Exception
java.lang.Exceptionpublic void messageReceived(IoSession session,
java.lang.Object message)
throws java.lang.Exception
java.lang.Exceptionpublic void messageSent(IoSession session,
java.lang.Object message)
throws java.lang.Exception
java.lang.Exceptionpublic void sessionClosed(IoSession session)
throws java.lang.Exception
java.lang.Exceptionpublic void sessionCreated(IoSession session)
throws java.lang.Exception
java.lang.Exceptionpublic void sessionIdle(IoSession session,
IdleStatus status)
throws java.lang.Exception
java.lang.Exceptionpublic void sessionOpened(IoSession session)
throws java.lang.Exception
java.lang.Exceptionpublic int getConnectTimeout()
public int getPingPeriod()
public java.lang.Integer getSocketReceiveBufferSize()
public java.lang.Integer getSocketSendBufferSize()
public int getMessageTimeout()
protected java.lang.Integer getIntProperty(java.lang.String propertyName,
java.lang.Integer defaultValue)
protected void finalize()
throws java.lang.Throwable
finalize in class java.lang.Objectjava.lang.Throwablepublic void dispose()
ConnectionA dispose will also act as a disconnect.
Connections must be disposed in order to clean up all resources. In the
past the Connection.disconnect() call was enough and, if possible, most
resources (sockets) should be closed when disconnecting. Still some
resources can be re-used and these need to be cleaned up in the
Connection.dispose() call.
dispose in interface Connectionpublic java.util.Map<java.lang.String,java.lang.String> getSessionProperties()
ConnectionConnectionState.BOUNDgetSessionProperties in interface Connectionpublic java.util.Collection<StatisticEntry> getStatistics()
Copyright (c) IBH SYSTEMS GmbH and others 2010, 2013.
All rights reserved. This program and the accompanying materials
are made available under the terms of the
Eclipse Public License v1.0