public class UserServer.BitToUserConnection extends AbstractServerConnection<UserServer.BitToUserConnection> implements UserClientConnection
UserSession which stores all session related information like
session options changed over the lifetime of this connection. There is a
1:1 mapping between a BitToUserConnection and a UserSession. This
connection object is also used to send query data and result back to the
client submitted as part of the session tied to this connection.saslCodec| Modifier and Type | Method and Description |
|---|---|
void |
channelClosed(RpcException ex)
Called from the RpcBus's channel close handler to close all remaining
resources associated with this connection.
|
void |
close()
Connection consumer wants to close connection.
|
void |
decConnectionCounter() |
void |
finalizeSaslSession() |
io.netty.util.concurrent.Future<Void> |
getClosureFuture()
Returns the
Future which will be notified when this
channel is closed. |
protected org.slf4j.Logger |
getLogger() |
SocketAddress |
getRemoteAddress() |
UserSession |
getSession() |
void |
incConnectionCounter() |
void |
sendData(RpcOutcomeListener<GeneralRPCProtos.Ack> listener,
QueryDataPackage data)
Send query data to client.
|
void |
sendResult(RpcOutcomeListener<GeneralRPCProtos.Ack> listener,
UserBitShared.QueryResult result)
Send query result outcome to client.
|
changeHandlerTo, disposeSaslServer, getAllocator, getCurrentHandler, getSaslServer, initSaslServer, setEncryption, setMaxWrappedSizeaddSecurityHandlers, blockOnNotWritable, createNewRpcListener, getAndRemoveRpcOutcome, getChannel, getEncryptionCtxtString, getMaxWrappedSize, getName, getWrapSizeLimit, inEventLoop, isActive, isEncryptionEnabled, recordRemoteFailure, setAutoRead, setWrapSizeLimitclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddSecurityHandlers, blockOnNotWritable, createNewRpcListener, getAndRemoveRpcOutcome, getChannel, getName, inEventLoop, isActive, recordRemoteFailuresetAutoReadgetEncryptionCtxtString, getMaxWrappedSize, getWrapSizeLimit, isEncryptionEnabled, setWrapSizeLimitpublic void finalizeSaslSession()
throws IOException
finalizeSaslSession in interface ServerConnection<UserServer.BitToUserConnection>finalizeSaslSession in class AbstractServerConnection<UserServer.BitToUserConnection>IOExceptionpublic UserSession getSession()
getSession in interface UserClientConnectionprotected org.slf4j.Logger getLogger()
getLogger in class AbstractServerConnection<UserServer.BitToUserConnection>public void sendResult(RpcOutcomeListener<GeneralRPCProtos.Ack> listener, UserBitShared.QueryResult result)
UserClientConnectionlistener.sendResult in interface UserClientConnectionlistener - The listenerresult - The query result to be sentpublic void sendData(RpcOutcomeListener<GeneralRPCProtos.Ack> listener, QueryDataPackage data)
UserClientConnectionlistener.sendData in interface UserClientConnectionlistener - The listenerdata - The data to be sentpublic io.netty.util.concurrent.Future<Void> getClosureFuture()
UserClientConnectionFuture which will be notified when this
channel is closed. This method always returns the same future instance.getClosureFuture in interface UserClientConnectionpublic SocketAddress getRemoteAddress()
getRemoteAddress in interface RemoteConnectiongetRemoteAddress in interface UserClientConnectiongetRemoteAddress in class AbstractRemoteConnectionpublic void channelClosed(RpcException ex)
AbstractRemoteConnectionchannelClosed in interface RemoteConnectionchannelClosed in class AbstractServerConnection<UserServer.BitToUserConnection>ex - The exception that caused the channel to close.public void close()
AbstractRemoteConnectionThe check for isActive is not required here since channel can be in OPEN state without being active. We want to close in both the scenarios. A channel is in OPEN state when a socket is created for it before binding to an address.
close in interface AutoCloseableclose in interface RemoteConnectionclose in class AbstractRemoteConnectionpublic void incConnectionCounter()
incConnectionCounter in class AbstractRemoteConnectionpublic void decConnectionCounter()
decConnectionCounter in class AbstractRemoteConnectionCopyright © 2021 The Apache Software Foundation. All rights reserved.