public final class TcpIpConnection extends Object implements Connection
Connection.
A TcpIpConnection is not responsible for reading or writing data to a socket, this is done through:
SocketReader: which care of reading from the socket and feeding it into the system/li>
SocketWriter: which care of writing data to the socket.IOThreadingModel| Constructor and Description |
|---|
TcpIpConnection(TcpIpConnectionManager connectionManager,
int connectionId,
SocketChannelWrapper socketChannel,
IOThreadingModel ioThreadingModel) |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Closes this connection.
|
void |
close(Throwable t) |
boolean |
equals(Object o) |
int |
getConnectionId() |
TcpIpConnectionManager |
getConnectionManager() |
Address |
getEndPoint()
Gets the
Address of the other side of this Connection. |
InetAddress |
getInetAddress()
Returns remote address of this Connection.
|
Object |
getMetricsId() |
TcpIpConnectionMonitor |
getMonitor() |
int |
getPort()
The remote port.
|
InetSocketAddress |
getRemoteSocketAddress()
Returns the address of the endpoint this Connection is connected to, or
null if it is unconnected. |
SocketChannelWrapper |
getSocketChannelWrapper() |
SocketReader |
getSocketReader() |
SocketWriter |
getSocketWriter() |
ConnectionType |
getType()
Returns the
ConnectionType of this Connection. |
int |
hashCode() |
boolean |
isAlive()
Checks if the Connection is alive.
|
boolean |
isClient()
Checks if it is a client connection.
|
long |
lastReadTimeMillis()
Returns the clock time in milliseconds of the most recent read using this connection.
|
long |
lastWriteTimeMillis()
Returns the clock time in milliseconds of the most recent write using this connection.
|
void |
setEndPoint(Address endPoint) |
void |
setMonitor(TcpIpConnectionMonitor monitor) |
void |
setReceiveBufferSize(int size) |
void |
setSendBufferSize(int size) |
void |
setType(ConnectionType type)
Sets the type of the connection
|
void |
start()
Starts this connection.
|
String |
toString() |
boolean |
write(OutboundFrame frame)
Writes a outbound frame so it can be received by the other side of the connection.
|
public TcpIpConnection(TcpIpConnectionManager connectionManager, int connectionId, SocketChannelWrapper socketChannel, IOThreadingModel ioThreadingModel)
public SocketReader getSocketReader()
public SocketWriter getSocketWriter()
public ConnectionType getType()
ConnectionConnectionType of this Connection.getType in interface Connectionnull is returned.public void setType(ConnectionType type)
ConnectionsetType in interface Connectiontype - to be setpublic TcpIpConnectionManager getConnectionManager()
public SocketChannelWrapper getSocketChannelWrapper()
public InetAddress getInetAddress()
ConnectiongetInetAddress in interface Connectionnull if the connection is not alive.public int getPort()
Connectiontodo: rename to getRemotePort? And do we need it because we already have getEndPoint which returns an address which includes port. It is only used in testing
getPort in interface Connectionpublic InetSocketAddress getRemoteSocketAddress()
Connectionnull if it is unconnected.getRemoteSocketAddress in interface Connectiontodo: do we really need this method because we have getInetAddress, InetSocketAddress and getEndPoint.
public boolean isAlive()
ConnectionisAlive in interface Connectionpublic long lastWriteTimeMillis()
ConnectionlastWriteTimeMillis in interface Connectionpublic long lastReadTimeMillis()
ConnectionlastReadTimeMillis in interface Connectionpublic Address getEndPoint()
ConnectionAddress of the other side of this Connection.
todo: rename to get remoteAddress?
getEndPoint in interface Connectionpublic void setEndPoint(Address endPoint)
public void setMonitor(TcpIpConnectionMonitor monitor)
public TcpIpConnectionMonitor getMonitor()
public int getConnectionId()
public Object getMetricsId()
public void setSendBufferSize(int size)
throws SocketException
SocketExceptionpublic void setReceiveBufferSize(int size)
throws SocketException
SocketExceptionpublic boolean isClient()
ConnectionisClient in interface Connectionpublic void start()
public boolean write(OutboundFrame frame)
ConnectionThe frame could be stored in an internal queue before it actually is written, so this call does not need to be a synchronous call.
write in interface Connectionframe - the frame to write.public void close()
ConnectionPending packets on this connection are discarded
If the Connection is already closed, the call is ignored. So it can safely be called multiple times.
close in interface Connectionpublic void close(Throwable t)
Copyright © 2016 Hazelcast, Inc.. All Rights Reserved.