Class ServerCnxn

  • All Implemented Interfaces:
    Watcher
    Direct Known Subclasses:
    NettyServerCnxn, NIOServerCnxn

    public abstract class ServerCnxn
    extends java.lang.Object
    implements Watcher
    Interface to a Server connection - represents a connection from a client to the server.
    • Field Detail

      • me

        public static final java.lang.Object me
      • authInfo

        protected java.util.ArrayList<org.apache.zookeeper.data.Id> authInfo
      • established

        protected final java.util.Date established
      • packetsReceived

        protected final java.util.concurrent.atomic.AtomicLong packetsReceived
      • packetsSent

        protected final java.util.concurrent.atomic.AtomicLong packetsSent
      • minLatency

        protected long minLatency
      • maxLatency

        protected long maxLatency
      • lastOp

        protected java.lang.String lastOp
      • lastCxid

        protected long lastCxid
      • lastZxid

        protected long lastZxid
      • lastResponseTime

        protected long lastResponseTime
      • lastLatency

        protected long lastLatency
      • count

        protected long count
      • totalLatency

        protected long totalLatency
    • Constructor Detail

      • ServerCnxn

        public ServerCnxn()
    • Method Detail

      • sendResponse

        public void sendResponse​(org.apache.zookeeper.proto.ReplyHeader h,
                                 org.apache.jute.Record r,
                                 java.lang.String tag)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • getSessionId

        public abstract long getSessionId()
      • getAuthInfo

        public java.util.List<org.apache.zookeeper.data.Id> getAuthInfo()
        auth info for the cnxn, returns an unmodifyable list
      • addAuthInfo

        public void addAuthInfo​(org.apache.zookeeper.data.Id id)
      • removeAuthInfo

        public boolean removeAuthInfo​(org.apache.zookeeper.data.Id id)
      • packetReceived

        protected void packetReceived()
      • packetSent

        protected void packetSent()
      • serverStats

        protected abstract ServerStats serverStats()
      • resetStats

        public void resetStats()
      • incrPacketsReceived

        protected long incrPacketsReceived()
      • incrOutstandingRequests

        protected void incrOutstandingRequests​(org.apache.zookeeper.proto.RequestHeader h)
      • incrPacketsSent

        protected long incrPacketsSent()
      • updateStatsForResponse

        protected void updateStatsForResponse​(long cxid,
                                              long zxid,
                                              java.lang.String op,
                                              long start,
                                              long end)
      • getEstablished

        public java.util.Date getEstablished()
      • getOutstandingRequests

        public abstract long getOutstandingRequests()
      • getPacketsReceived

        public long getPacketsReceived()
      • getPacketsSent

        public long getPacketsSent()
      • getMinLatency

        public long getMinLatency()
      • getAvgLatency

        public long getAvgLatency()
      • getMaxLatency

        public long getMaxLatency()
      • getLastOperation

        public java.lang.String getLastOperation()
      • getLastCxid

        public long getLastCxid()
      • getLastZxid

        public long getLastZxid()
      • getLastResponseTime

        public long getLastResponseTime()
      • getLastLatency

        public long getLastLatency()
      • toString

        public java.lang.String toString()
        Prints detailed stats information for the connection.
        Overrides:
        toString in class java.lang.Object
        See Also:
        for brief stats
      • getRemoteSocketAddress

        public abstract java.net.InetSocketAddress getRemoteSocketAddress()
      • getInterestOps

        public abstract int getInterestOps()
      • isSecure

        public abstract boolean isSecure()
      • getClientCertificateChain

        public abstract java.security.cert.Certificate[] getClientCertificateChain()
      • setClientCertificateChain

        public abstract void setClientCertificateChain​(java.security.cert.Certificate[] chain)
      • dumpConnectionInfo

        public void dumpConnectionInfo​(java.io.PrintWriter pwriter,
                                       boolean brief)
        Print information about the connection.
        Parameters:
        brief - iff true prints brief details, otw full detail
      • getConnectionInfo

        public java.util.Map<java.lang.String,​java.lang.Object> getConnectionInfo​(boolean brief)
      • cleanupWriterSocket

        public void cleanupWriterSocket​(java.io.PrintWriter pwriter)
        clean up the socket related to a command and also make sure we flush the data before we do that
        Parameters:
        pwriter - the pwriter for a command socket