org.springframework.messaging.tcp

## Interface TcpConnection<P>

Type Parameters:
  `P` - the type of payload for outbound `Messages`

All Superinterfaces:
  AutoCloseable, Closeable

All Known Implementing Classes:
  ReactorNettyTcpConnection

    public interface TcpConnection<P>
    extends Closeable

A contract for sending messages and managing a TCP connection.

Since:
  4.0
Author:
  Rossen Stoyanchev

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `close()` Close the connection.
`void` `onReadInactivity(Runnable runnable, long duration)` Register a task to invoke after a period of read inactivity.
`void` `onWriteInactivity(Runnable runnable, long duration)` Register a task to invoke after a period of write inactivity.
`org.springframework.util.concurrent.ListenableFuture<Void>` `send(Message<P> message)` Send the given message.

### Method Detail

#### send

    org.springframework.util.concurrent.ListenableFuture<Void> send(Message<P> message)

Send the given message.

Parameters:
  `message` - the message
Returns:
  a ListenableFuture that can be used to determine when and if the message was successfully sent

#### onReadInactivity

    void onReadInactivity(Runnable runnable,
                          long duration)

Register a task to invoke after a period of read inactivity.

Parameters:
  `runnable` - the task to invoke
  `duration` - the amount of inactive time in milliseconds

#### onWriteInactivity

    void onWriteInactivity(Runnable runnable,
                           long duration)

Register a task to invoke after a period of write inactivity.

Parameters:
  `runnable` - the task to invoke
  `duration` - the amount of inactive time in milliseconds

#### close

    void close()

Close the connection.

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Closeable`