NettyServerCnxn (Apache ZooKeeper - Server 3.7.0 API)
Date: 2021-03-17

org.apache.zookeeper.server

## Class NettyServerCnxn

- java.lang.Object
- - org.apache.zookeeper.server.ServerCnxn
  - - org.apache.zookeeper.server.NettyServerCnxn

- All Implemented Interfaces:
    Watcher

      public class NettyServerCnxn
      extends ServerCnxn

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `NettyServerCnxn.HandshakeState`

    - ### Nested classes/interfaces inherited from class org.apache.zookeeper.server.ServerCnxn

      `ServerCnxn.CloseRequestException, ServerCnxn.DisconnectReason, ServerCnxn.EndOfStreamException`

    - ### Nested classes/interfaces inherited from interface org.apache.zookeeper.Watcher

      `Watcher.Event, Watcher.WatcherType`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `int` | `readIssuedAfterReadComplete`

    - ### Fields inherited from class org.apache.zookeeper.server.ServerCnxn

      `count, disconnectReason, established, lastCxid, lastLatency, lastOp, lastResponseTime, lastZxid, maxLatency, me, minLatency, packetsReceived, packetsSent, requestsProcessedCount, totalLatency, zooKeeperSaslServer`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()`
    `void` | `close(ServerCnxn.DisconnectReason reason)` Close the cnxn and remove it from the factory cnxns list.
    `void` | `disableRecv(boolean waitDisableRecv)` Note that the netty implementation ignores the `waitDisableRecv` parameter and is always asynchronous.
    `void` | `enableRecv()`
    `Certificate[]` | `getClientCertificateChain()`
    `NettyServerCnxn.HandshakeState` | `getHandshakeState()`
    `int` | `getInterestOps()`
    `int` | `getQueuedReadableBytes()`
    `InetSocketAddress` | `getRemoteSocketAddress()`
    `long` | `getSessionId()`
    `int` | `getSessionTimeout()`
    `boolean` | `isSecure()`
    `void` | `process(WatchedEvent event)`
    `void` | `sendBuffer(ByteBuffer... buffers)`
    `void` | `sendCloseSession()` Send close connection packet to the client.
    `int` | `sendResponse(ReplyHeader h, Record r, String tag, String cacheKey, Stat stat, int opCode)` Serializes a ZooKeeper response and enqueues it for sending.
    `protected ServerStats` | `serverStats()`
    `void` | `setClientCertificateChain(Certificate[] chain)`
    `void` | `setHandshakeState(NettyServerCnxn.HandshakeState state)`
    `void` | `setSessionId(long sessionId)`
    `void` | `setSessionTimeout(int sessionTimeout)`

    - ### Methods inherited from class org.apache.zookeeper.server.ServerCnxn

      `addAuthInfo, cleanupWriterSocket, decrOutstandingAndCheckThrottle, dumpConnectionInfo, getAuthInfo, getAvgLatency, getConnectionInfo, getEstablished, getHostAddress, getLastCxid, getLastLatency, getLastOperation, getLastResponseTime, getLastZxid, getMaxLatency, getMinLatency, getOutstandingRequests, getPacketsReceived, getPacketsSent, getSessionIdHex, incrOutstandingAndCheckThrottle, incrPacketsReceived, incrPacketsSent, isInvalid, isStale, isZKServerRunning, packetReceived, packetSent, removeAuthInfo, resetStats, sendResponse, serialize, serializeRecord, setInvalid, setStale, toString, updateStatsForResponse`

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

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

- - ### Field Detail

    - #### readIssuedAfterReadComplete

          public int readIssuedAfterReadComplete

  - ### Method Detail

    - #### close

          public void close(ServerCnxn.DisconnectReason reason)

      Close the cnxn and remove it from the factory cnxns list.
      Specified by:
        `close` in class `ServerCnxn`

    - #### close

          public void close()

    - #### getSessionId

          public long getSessionId()

      Specified by:
        `getSessionId` in class `ServerCnxn`

    - #### getSessionTimeout

          public int getSessionTimeout()

    - #### process

          public void process(WatchedEvent event)

      Specified by:
        `process` in interface `Watcher`
      Specified by:
        `process` in class `ServerCnxn`

    - #### sendResponse

          public int sendResponse(ReplyHeader h,
                                  Record r,
                                  String tag,
                                  String cacheKey,
                                  Stat stat,
                                  int opCode)
                           throws IOException

      Description copied from class: `ServerCnxn`
      Serializes a ZooKeeper response and enqueues it for sending. Serializes client response parts and enqueues them into outgoing queue. If both cache key and last modified zxid are provided, the serialized response is caсhed under the provided key, the last modified zxid is stored along with the value. A cache entry is invalidated if the provided last modified zxid is more recent than the stored one. Attention: this function is not thread safe, due to caching not being thread safe.
      Specified by:
        `sendResponse` in class `ServerCnxn`
      Parameters:
        `h` - reply header
        `r` - reply payload, can be null
        `tag` - Jute serialization tag, can be null
        `cacheKey` - Key for caching the serialized payload. A null value prevents caching.
        `stat` - Stat information for the the reply payload, used for cache invalidation. A value of 0 prevents caching.
        `opCode` - The op code appertains to the corresponding request of the response, used to decide which cache (e.g. read response cache, list of children response cache, ...) object to look up to when applicable.
      Throws:
        `IOException`

    - #### setSessionId

          public void setSessionId(long sessionId)

    - #### sendBuffer

          public void sendBuffer(ByteBuffer... buffers)

    - #### disableRecv

          public void disableRecv(boolean waitDisableRecv)

      Note that the netty implementation ignores the `waitDisableRecv` parameter and is always asynchronous.
      Parameters:
        `waitDisableRecv` - ignored by this implementation.

    - #### enableRecv

          public void enableRecv()

    - #### setSessionTimeout

          public void setSessionTimeout(int sessionTimeout)

    - #### getInterestOps

          public int getInterestOps()

      Specified by:
        `getInterestOps` in class `ServerCnxn`

    - #### getRemoteSocketAddress

          public InetSocketAddress getRemoteSocketAddress()

      Specified by:
        `getRemoteSocketAddress` in class `ServerCnxn`

    - #### sendCloseSession

          public void sendCloseSession()

      Send close connection packet to the client.
      Specified by:
        `sendCloseSession` in class `ServerCnxn`

    - #### serverStats

          protected ServerStats serverStats()

      Specified by:
        `serverStats` in class `ServerCnxn`

    - #### isSecure

          public boolean isSecure()

      Specified by:
        `isSecure` in class `ServerCnxn`

    - #### getClientCertificateChain

          public Certificate[] getClientCertificateChain()

      Specified by:
        `getClientCertificateChain` in class `ServerCnxn`

    - #### setClientCertificateChain

          public void setClientCertificateChain(Certificate[] chain)

      Specified by:
        `setClientCertificateChain` in class `ServerCnxn`

    - #### getQueuedReadableBytes

          public int getQueuedReadableBytes()

    - #### setHandshakeState

          public void setHandshakeState(NettyServerCnxn.HandshakeState state)

    - #### getHandshakeState

          public NettyServerCnxn.HandshakeState getHandshakeState()

Copyright © 2008–2021 The Apache Software Foundation. All rights reserved.