Package org.apache.ignite.internal.util.ipc

## Interface IpcServerEndpoint

All Superinterfaces:
  `AutoCloseable`, `Closeable`

All Known Implementing Classes:
  `IpcServerTcpEndpoint`

    public interface IpcServerEndpoint
    extends Closeable

IPC server endpoint that is capable for client connections accepting.

### Method Summary

All Methods Instance Methods Abstract Methods
`IpcEndpoint` `accept()` Accepts client IPC connection.
`void` `close()` Closes server IPC.
`@Nullable String` `getHost()` Gets host endpoint is bound to.
`int` `getPort()` Gets port endpoint is bound to.
`boolean` `isManagement()` Indicates if this endpoint is a management endpoint.
`void` `start()` Starts configured endpoint implementation.

### Method Detail

#### accept

    IpcEndpoint accept()
                throws IgniteCheckedException

Accepts client IPC connection. After client connection is accepted, it can be used for IPC. This method will block until client connects to IPC server endpoint.

Returns:
  Accepted client connection.
Throws:
  `IgniteCheckedException` - If accept failed and the endpoint is not usable anymore.

#### start

    void start()
        throws IgniteCheckedException

Starts configured endpoint implementation.

Throws:
  `IgniteCheckedException` - If failed to start server endpoint.

#### close

    void close()

Closes server IPC. After IPC is closed, no further operations can be performed on this object.

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

#### getPort

    int getPort()

Gets port endpoint is bound to. Endpoints who does not bind to any port should return -1.

Returns:
  Port number.

#### getHost

    @Nullable
    @Nullable String getHost()

Gets host endpoint is bound to. Endpoints who does not bind to any port should return `null`.

Returns:
  Host.

#### isManagement

    boolean isManagement()

Indicates if this endpoint is a management endpoint.

Returns:
  `true` if it's a management endpoint.