com.sun.mail.util

## Class WriteTimeoutSocket

- java.lang.Object
- - java.net.Socket
  - - com.sun.mail.util.WriteTimeoutSocket

- All Implemented Interfaces:
    Closeable, AutoCloseable

      public class WriteTimeoutSocket
      extends Socket

  A special Socket that uses a ScheduledExecutorService to implement timeouts for writes. The write timeout is specified (in milliseconds) when the WriteTimeoutSocket is created.
  Author:
    Bill Shannon

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `WriteTimeoutSocket(InetAddress address, int port, InetAddress localAddress, int localPort, int timeout)`
    `WriteTimeoutSocket(InetAddress address, int port, int timeout)`
    `WriteTimeoutSocket(int timeout)`
    `WriteTimeoutSocket(Socket socket, int timeout)`
    `WriteTimeoutSocket(String host, int port, InetAddress localAddress, int localPort, int timeout)`
    `WriteTimeoutSocket(String host, int port, int timeout)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `bind(SocketAddress local)`
    `void` | `close()`
    `void` | `connect(SocketAddress remote)`
    `void` | `connect(SocketAddress remote, int timeout)`
    `SocketChannel` | `getChannel()`
    `InetAddress` | `getInetAddress()`
    `InputStream` | `getInputStream()`
    `boolean` | `getKeepAlive()`
    `InetAddress` | `getLocalAddress()`
    `int` | `getLocalPort()`
    `boolean` | `getOOBInline()`
    `OutputStream` | `getOutputStream()`
    `int` | `getPort()`
    `int` | `getReceiveBufferSize()`
    `boolean` | `getReuseAddress()`
    `int` | `getSendBufferSize()`
    `int` | `getSoLinger()`
    `int` | `getSoTimeout()`
    `boolean` | `getTcpNoDelay()`
    `int` | `getTrafficClass()`
    `boolean` | `isBound()`
    `boolean` | `isClosed()`
    `boolean` | `isConnected()`
    `boolean` | `isInputShutdown()`
    `boolean` | `isOutputShutdown()`
    `void` | `sendUrgentData(int data)`
    `void` | `setKeepAlive(boolean on)`
    `void` | `setOOBInline(boolean on)`
    `void` | `setReceiveBufferSize(int size)`
    `void` | `setReuseAddress(boolean on)`
    `void` | `setSendBufferSize(int size)`
    `void` | `setSoLinger(boolean on, int linger)`
    `void` | `setSoTimeout(int timeout)`
    `void` | `setTcpNoDelay(boolean on)`
    `void` | `setTrafficClass(int tc)`
    `void` | `shutdownInput()`
    `void` | `shutdownOutput()`
    `String` | `toString()`

    - ### Methods inherited from class java.net.Socket

      `getLocalSocketAddress, getRemoteSocketAddress, setPerformancePreferences, setSocketImplFactory`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### WriteTimeoutSocket

          public WriteTimeoutSocket(Socket socket,
                            int timeout)
                             throws IOException

      Throws:
        `IOException`

    - #### WriteTimeoutSocket

          public WriteTimeoutSocket(int timeout)
                             throws IOException

      Throws:
        `IOException`

    - #### WriteTimeoutSocket

          public WriteTimeoutSocket(InetAddress address,
                            int port,
                            int timeout)
                             throws IOException

      Throws:
        `IOException`

    - #### WriteTimeoutSocket

          public WriteTimeoutSocket(InetAddress address,
                            int port,
                            InetAddress localAddress,
                            int localPort,
                            int timeout)
                             throws IOException

      Throws:
        `IOException`

    - #### WriteTimeoutSocket

          public WriteTimeoutSocket(String host,
                            int port,
                            int timeout)
                             throws IOException

      Throws:
        `IOException`

    - #### WriteTimeoutSocket

          public WriteTimeoutSocket(String host,
                            int port,
                            InetAddress localAddress,
                            int localPort,
                            int timeout)
                             throws IOException

      Throws:
        `IOException`

  - ### Method Detail

    - #### connect

          public void connect(SocketAddress remote)
                       throws IOException

      Overrides:
        `connect` in class `Socket`
      Throws:
        `IOException`

    - #### connect

          public void connect(SocketAddress remote,
                     int timeout)
                       throws IOException

      Overrides:
        `connect` in class `Socket`
      Throws:
        `IOException`

    - #### bind

          public void bind(SocketAddress local)
                    throws IOException

      Overrides:
        `bind` in class `Socket`
      Throws:
        `IOException`

    - #### getChannel

          public SocketChannel getChannel()

      Overrides:
        `getChannel` in class `Socket`

    - #### getInetAddress

          public InetAddress getInetAddress()

      Overrides:
        `getInetAddress` in class `Socket`

    - #### getLocalAddress

          public InetAddress getLocalAddress()

      Overrides:
        `getLocalAddress` in class `Socket`

    - #### getPort

          public int getPort()

      Overrides:
        `getPort` in class `Socket`

    - #### getLocalPort

          public int getLocalPort()

      Overrides:
        `getLocalPort` in class `Socket`

    - #### getInputStream

          public InputStream getInputStream()
                                     throws IOException

      Overrides:
        `getInputStream` in class `Socket`
      Throws:
        `IOException`

    - #### getOutputStream

          public OutputStream getOutputStream()
                                       throws IOException

      Overrides:
        `getOutputStream` in class `Socket`
      Throws:
        `IOException`

    - #### setTcpNoDelay

          public void setTcpNoDelay(boolean on)
                             throws SocketException

      Overrides:
        `setTcpNoDelay` in class `Socket`
      Throws:
        `SocketException`

    - #### getTcpNoDelay

          public boolean getTcpNoDelay()
                                throws SocketException

      Overrides:
        `getTcpNoDelay` in class `Socket`
      Throws:
        `SocketException`

    - #### setSoLinger

          public void setSoLinger(boolean on,
                         int linger)
                           throws SocketException

      Overrides:
        `setSoLinger` in class `Socket`
      Throws:
        `SocketException`

    - #### getSoLinger

          public int getSoLinger()
                          throws SocketException

      Overrides:
        `getSoLinger` in class `Socket`
      Throws:
        `SocketException`

    - #### sendUrgentData

          public void sendUrgentData(int data)
                              throws IOException

      Overrides:
        `sendUrgentData` in class `Socket`
      Throws:
        `IOException`

    - #### setOOBInline

          public void setOOBInline(boolean on)
                            throws SocketException

      Overrides:
        `setOOBInline` in class `Socket`
      Throws:
        `SocketException`

    - #### getOOBInline

          public boolean getOOBInline()
                               throws SocketException

      Overrides:
        `getOOBInline` in class `Socket`
      Throws:
        `SocketException`

    - #### setSoTimeout

          public void setSoTimeout(int timeout)
                            throws SocketException

      Overrides:
        `setSoTimeout` in class `Socket`
      Throws:
        `SocketException`

    - #### getSoTimeout

          public int getSoTimeout()
                           throws SocketException

      Overrides:
        `getSoTimeout` in class `Socket`
      Throws:
        `SocketException`

    - #### setSendBufferSize

          public void setSendBufferSize(int size)
                                 throws SocketException

      Overrides:
        `setSendBufferSize` in class `Socket`
      Throws:
        `SocketException`

    - #### getSendBufferSize

          public int getSendBufferSize()
                                throws SocketException

      Overrides:
        `getSendBufferSize` in class `Socket`
      Throws:
        `SocketException`

    - #### setReceiveBufferSize

          public void setReceiveBufferSize(int size)
                                    throws SocketException

      Overrides:
        `setReceiveBufferSize` in class `Socket`
      Throws:
        `SocketException`

    - #### getReceiveBufferSize

          public int getReceiveBufferSize()
                                   throws SocketException

      Overrides:
        `getReceiveBufferSize` in class `Socket`
      Throws:
        `SocketException`

    - #### setKeepAlive

          public void setKeepAlive(boolean on)
                            throws SocketException

      Overrides:
        `setKeepAlive` in class `Socket`
      Throws:
        `SocketException`

    - #### getKeepAlive

          public boolean getKeepAlive()
                               throws SocketException

      Overrides:
        `getKeepAlive` in class `Socket`
      Throws:
        `SocketException`

    - #### setTrafficClass

          public void setTrafficClass(int tc)
                               throws SocketException

      Overrides:
        `setTrafficClass` in class `Socket`
      Throws:
        `SocketException`

    - #### getTrafficClass

          public int getTrafficClass()
                              throws SocketException

      Overrides:
        `getTrafficClass` in class `Socket`
      Throws:
        `SocketException`

    - #### setReuseAddress

          public void setReuseAddress(boolean on)
                               throws SocketException

      Overrides:
        `setReuseAddress` in class `Socket`
      Throws:
        `SocketException`

    - #### getReuseAddress

          public boolean getReuseAddress()
                                  throws SocketException

      Overrides:
        `getReuseAddress` in class `Socket`
      Throws:
        `SocketException`

    - #### close

          public void close()
                     throws IOException

      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Overrides:
        `close` in class `Socket`
      Throws:
        `IOException`

    - #### shutdownInput

          public void shutdownInput()
                             throws IOException

      Overrides:
        `shutdownInput` in class `Socket`
      Throws:
        `IOException`

    - #### shutdownOutput

          public void shutdownOutput()
                              throws IOException

      Overrides:
        `shutdownOutput` in class `Socket`
      Throws:
        `IOException`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Socket`

    - #### isConnected

          public boolean isConnected()

      Overrides:
        `isConnected` in class `Socket`

    - #### isBound

          public boolean isBound()

      Overrides:
        `isBound` in class `Socket`

    - #### isClosed

          public boolean isClosed()

      Overrides:
        `isClosed` in class `Socket`

    - #### isInputShutdown

          public boolean isInputShutdown()

      Overrides:
        `isInputShutdown` in class `Socket`

    - #### isOutputShutdown

          public boolean isOutputShutdown()

      Overrides:
        `isOutputShutdown` in class `Socket`

Copyright © 2016 Oracle. All rights reserved.