Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.0.0 E15725-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.tangosol.net
Class NonBlockingTcpDatagramSocket

`java.lang.Object
java.net.DatagramSocket
com.tangosol.net.TcpDatagramSocket
com.tangosol.net.NonBlockingTcpDatagramSocket`

      public class NonBlockingTcpDatagramSocket

extends TcpDatagramSocket

TCP based non-blocking datagram socket implementation. In order to provide a non-blocking API this implementation may drop packets if the underlying TCP transfer buffers are full.

Author:
  mf 2009.12.16

Nested Class Summary
`static class` | `NonBlockingTcpDatagramSocket.Impl`

Field Summary
`static boolean` | `SPLIT` Flag indicating if split sockets should be used for TcpDatagram sockets.

Fields inherited from class com.tangosol.net.TcpDatagramSocket
`IO_EXCEPTIONS_LOG_LEVEL, m_impl`

Constructor Summary
`` | `NonBlockingTcpDatagramSocket()`
`` | `NonBlockingTcpDatagramSocket(int nPort)`
`` | `NonBlockingTcpDatagramSocket(int nPort, InetAddress addr)`
`protected` | `NonBlockingTcpDatagramSocket(NonBlockingTcpDatagramSocket.Impl impl)`
`` | `NonBlockingTcpDatagramSocket(SocketAddress addr)`
`` | `NonBlockingTcpDatagramSocket(SocketProvider provider)`

Method Summary

Methods inherited from class com.tangosol.net.TcpDatagramSocket
`bind, isBound, provider, receive, send, setAdvanceFrequency, setListenBacklog, setPacketMagic, setSocketOptions, toString`

Methods inherited from class java.net.DatagramSocket
`close, connect, connect, disconnect, getBroadcast, getChannel, getInetAddress, getLocalAddress, getLocalPort, getLocalSocketAddress, getPort, getReceiveBufferSize, getRemoteSocketAddress, getReuseAddress, getSendBufferSize, getSoTimeout, getTrafficClass, isClosed, isConnected, setBroadcast, setDatagramSocketImplFactory, setReceiveBufferSize, setReuseAddress, setSendBufferSize, setSoTimeout, setTrafficClass`

Field Detail

### SPLIT

    public static final boolean SPLIT

  Flag indicating if split sockets should be used for TcpDatagram sockets. While this should ideally never be needed, testing on Linux has shown that under heavy packet loads the socket can appear to stall and refuse to accept or emit data. Worse still while the socket is in this state the NIC is transmitting ~300,000 packets/second, even when the process is paused CTRL+Z'd. This setting is conceptually similar to the "tangosol.coherence.datagram.splitsocket" but only applies to TcpDatagram sockets. Additionally it does not require multiple listening ports, just multiple connections.

Constructor Detail

### NonBlockingTcpDatagramSocket

    public NonBlockingTcpDatagramSocket()
                                 throws SocketException

  Throws:
    `SocketException`

### NonBlockingTcpDatagramSocket

    public NonBlockingTcpDatagramSocket(SocketAddress addr)
                                 throws SocketException

  Throws:
    `SocketException`

### NonBlockingTcpDatagramSocket

    public NonBlockingTcpDatagramSocket(int nPort)
                                 throws SocketException

  Throws:
    `SocketException`

### NonBlockingTcpDatagramSocket

    public NonBlockingTcpDatagramSocket(int nPort,
                                        InetAddress addr)
                                 throws SocketException

  Throws:
    `SocketException`

### NonBlockingTcpDatagramSocket

    public NonBlockingTcpDatagramSocket(SocketProvider provider)
                                 throws SocketException

  Throws:
    `SocketException`

### NonBlockingTcpDatagramSocket

    protected NonBlockingTcpDatagramSocket(NonBlockingTcpDatagramSocket.Impl impl)

Skip navigation links

Overview | Package | Class | Tree | Index | Help
| Oracle® Coherence Java API Reference Release 3.6.0.0 E15725-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.