@PublicAPI(stability=UNCOMMITTED, mayInstantiate=true, mayExtend=false, mayInvoke=true) public class InternalClientConnection extends ClientConnection
Modifier and Type | Class and Description |
---|---|
static class |
InternalClientConnection.SearchResultCollector
Search result handler that collects entries and references returned by a search.
|
authenticationInfo, bindInProgress, DEFAULT_WRITE_TIME_LIMIT_MS, saslBindInProgress, startTLSInProgress
Constructor and Description |
---|
InternalClientConnection(AuthenticationInfo authInfo)
Creates a new internal client connection that will be authenticated as the specified user.
|
InternalClientConnection(org.forgerock.opendj.ldap.Dn userDN)
Creates a new internal client connection that will be authenticated as the specified user.
|
Modifier and Type | Method and Description |
---|---|
org.forgerock.opendj.ldap.Connection |
asConnection()
Returns a SDK connection representing the current InternalClientConnection.
|
void |
disconnect(DisconnectReason disconnectReason,
boolean sendNotification,
LocalizableMessage message)
Closes the connection to the client, optionally sending it a message indicating the reason for the closure.
|
String |
getClientAddress()
Retrieves a string representation of the address of the client.
|
int |
getClientPort()
Retrieves the port number for this connection on the client system.
|
ConnectionHandler<?> |
getConnectionHandler()
Retrieves the connection handler that accepted this client connection.
|
long |
getConnectionID()
Retrieves the unique identifier that has been assigned to this connection.
|
InetAddress |
getLocalAddress()
Retrieves the
java.net.InetAddress for the Directory Server system to which the client has
established the connection. |
String |
getMonitorSummary()
Retrieves a one-line summary of this client connection in a form that is suitable for including in the monitor
entry for the associated connection handler.
|
long |
getNumberOfOperations()
To be implemented.
|
Operation |
getOperationInProgress(int messageID)
Retrieves the operation in progress with the specified message ID.
|
String |
getProtocol()
Retrieves the protocol that the client is using to communicate with the Directory Server.
|
InetAddress |
getRemoteAddress()
Retrieves the
java.net.InetAddress associated with the remote client system. |
static InternalClientConnection |
getRootConnection()
Retrieves a shared internal client connection that is authenticated as a root user.
|
static org.forgerock.opendj.ldap.Connection |
getSdkRootConnection()
Retrieves a shared internal client connection that is authenticated as a root user.
|
String |
getServerAddress()
Retrieves a string representation of the address on the server to which the client connected.
|
int |
getServerPort()
Retrieves the port number for this connection on the server system if available.
|
int |
getSSF()
Return the Security Strength Factor of a client connection.
|
io.reactivex.Flowable<org.forgerock.opendj.ldap.messages.Response> |
handle(org.forgerock.services.context.Context context,
org.forgerock.opendj.ldap.messages.Request request)
Processes the provided request in a reactive way.
|
boolean |
isConnectionValid()
Returns whether the Directory Server believes this connection to be valid and available for communication.
|
boolean |
isSecure()
Indicates whether this client connection is currently using a secure mechanism to communicate with the server.
|
RequestContext |
newRequestContext()
Creates a new request context.
|
static RequestContext |
newRootRequestContext()
Creates a new request context for the root connection.
|
static int |
nextMessageID()
Retrieves the message ID that should be used for the next internal operation.
|
static long |
nextOperationID()
Retrieves the operation ID that should be used for the next internal operation.
|
boolean |
removeOperationInProgress(int messageID)
Removes the provided operation from the set of operations in progress for this client connection.
|
protected boolean |
sendIntermediateResponseMessage(IntermediateResponse intermediateResponse)
Sends the provided intermediate response message to the client.
|
void |
sendResponse(Operation operation)
Sends a response to the client based on the information in the provided operation.
|
void |
sendSearchEntry(SearchOperation searchOperation,
SearchResultEntry searchEntry)
Sends the provided search result entry to the client.
|
boolean |
sendSearchReference(SearchOperation searchOperation,
SearchResultReference searchReference)
Sends the provided search result reference to the client.
|
void |
setAuthenticationInfo(AuthenticationInfo authenticationInfo)
This method has no effect, as the authentication info for internal client connections is set when the connection
is created and cannot be changed after the fact.
|
void |
setIdleTimeLimit(long idleTimeLimit)
Specifies the maximum length of time in milliseconds that this client connection will be allowed to remain idle
before it should be disconnected.
|
void |
setLookthroughLimit(int lookthroughLimit)
Specifies the default maximum number of entries that should be checked for matches during a search.
|
void |
setSizeLimit(int sizeLimit)
Specifies the size limit that will be enforced for searches performed using this client connection.
|
void |
setTimeLimit(int timeLimit)
Specifies the time limit that will be enforced for searches performed using this client connection.
|
void |
setUnauthenticated()
This method has no effect, as the authentication info for internal client connections is set when the connection
is created and cannot be changed after the fact.
|
void |
toString(StringBuilder buffer)
Appends a string representation of this client connection to the provided buffer.
|
deregisterPersistentSearch, finalizeConnectionInternal, finishBind, finishSaslBind, finishStartTLS, getAuthenticationInfo, getCertificateAlias, getClientHostPort, getConnectTime, getConnectTimeString, getIdleTime, getIdleTimeLimit, getKeyManagerProviderDN, getLookthroughLimit, getMaxBlockedWriteTimeLimit, getPersistentSearches, getSASLAuthStateInfo, getServerHostPort, getSizeLimit, getTimeLimit, getTrustManagerProviderDN, hasAllPrivileges, hasPrivilege, hasPrivilege, isInnerConnection, mustChangePassword, registerPersistentSearch, sendIntermediateResponse, setMustChangePassword, setSASLAuthStateInfo, toString, updateAuthenticationInfo, updatePrivileges
public InternalClientConnection(AuthenticationInfo authInfo)
authInfo
- The authentication information to use for the connection.public InternalClientConnection(org.forgerock.opendj.ldap.Dn userDN) throws DirectoryException
userDN
- The DN of the entry to use as the authentication and authorization identity.DirectoryException
- If a problem occurs while trying to get the entry for the provided user DN.public io.reactivex.Flowable<org.forgerock.opendj.ldap.messages.Response> handle(org.forgerock.services.context.Context context, org.forgerock.opendj.ldap.messages.Request request)
context
- The context to process the request, which is expected to contain a RequestDJContext
request
- The request to process.public RequestContext newRequestContext()
public static InternalClientConnection getRootConnection()
public static RequestContext newRootRequestContext()
public static org.forgerock.opendj.ldap.Connection getSdkRootConnection()
public static long nextOperationID()
public static int nextMessageID()
public long getConnectionID()
getConnectionID
in class ClientConnection
@PublicAPI(stability=PRIVATE, mayInstantiate=false, mayExtend=false, mayInvoke=false) public ConnectionHandler<?> getConnectionHandler()
getConnectionHandler
in class ClientConnection
public String getProtocol()
getProtocol
in class ClientConnection
public String getClientAddress()
getClientAddress
in class ClientConnection
public int getClientPort()
getClientPort
in class ClientConnection
public String getServerAddress()
getServerAddress
in class ClientConnection
public int getServerPort()
getServerPort
in class ClientConnection
public InetAddress getRemoteAddress()
java.net.InetAddress
associated with the remote client system.getRemoteAddress
in class ClientConnection
java.net.InetAddress
associated with the remote client system. It may be
null
if the client is not connected over an IP-based connection.public InetAddress getLocalAddress()
java.net.InetAddress
for the Directory Server system to which the client has
established the connection.getLocalAddress
in class ClientConnection
java.net.InetAddress
for the Directory Server system to which the client has established
the connection. It may be null
if the client is not connected over an IP-based connection.public void setSizeLimit(int sizeLimit)
setSizeLimit
in class ClientConnection
sizeLimit
- The size limit that will be enforced for searches performed using this client connection.public void setLookthroughLimit(int lookthroughLimit)
setLookthroughLimit
in class ClientConnection
lookthroughLimit
- The default maximum number of entries that should be check for matches during a search.public void setIdleTimeLimit(long idleTimeLimit)
setIdleTimeLimit
in class ClientConnection
idleTimeLimit
- The maximum length of time in milliseconds that this client connection will be allowed to remain idle
before it should be disconnected.public void setTimeLimit(int timeLimit)
setTimeLimit
in class ClientConnection
timeLimit
- The time limit that will be enforced for searches performed using this client connection.public boolean isConnectionValid()
ClientConnection
isConnectionValid
in class ClientConnection
public boolean isSecure()
false
to true
if the client uses the StartTLS extended operation).isSecure
in class ClientConnection
true
if the client connection is currently using a secure mechanism to communicate with the
server, or false
if not.@PublicAPI(stability=PRIVATE, mayInstantiate=false, mayExtend=false, mayInvoke=false) public void sendResponse(Operation operation)
sendResponse
in class ClientConnection
operation
- The operation for which to send the response.@PublicAPI(stability=PRIVATE, mayInstantiate=false, mayExtend=false, mayInvoke=false) public void setAuthenticationInfo(AuthenticationInfo authenticationInfo)
setAuthenticationInfo
in class ClientConnection
authenticationInfo
- Information about the authentication that has been performed for this connection. It should not be
null
.@PublicAPI(stability=PRIVATE, mayInstantiate=false, mayExtend=false, mayInvoke=false) public void setUnauthenticated()
setUnauthenticated
in class ClientConnection
@PublicAPI(stability=PRIVATE, mayInstantiate=false, mayExtend=false, mayInvoke=false) public void sendSearchEntry(SearchOperation searchOperation, SearchResultEntry searchEntry) throws DirectoryException
sendSearchEntry
in class ClientConnection
searchOperation
- The search operation with which the entry is associated.searchEntry
- The search result entry to be sent to the client.DirectoryException
- If a problem occurs while processing the entry and the search should be terminated.@PublicAPI(stability=PRIVATE, mayInstantiate=false, mayExtend=false, mayInvoke=false) public boolean sendSearchReference(SearchOperation searchOperation, SearchResultReference searchReference) throws DirectoryException
sendSearchReference
in class ClientConnection
searchOperation
- The search operation with which the reference is associated.searchReference
- The search result reference to be sent to the client.true
if the client is able to accept referrals, or false
if the client cannot
handle referrals and no more attempts should be made to send them for the associated search operation.DirectoryException
- If a problem occurs while processing the entry and the search should be terminated.@PublicAPI(stability=PRIVATE, mayInstantiate=false, mayExtend=false, mayInvoke=false) protected boolean sendIntermediateResponseMessage(IntermediateResponse intermediateResponse)
sendIntermediateResponseMessage
in class ClientConnection
intermediateResponse
- The intermediate response message to be sent.true
if processing on the associated operation should continue, or false
if
not.@PublicAPI(stability=PRIVATE, mayInstantiate=false, mayExtend=false, mayInvoke=false) public void disconnect(DisconnectReason disconnectReason, boolean sendNotification, LocalizableMessage message)
disconnect
in class ClientConnection
disconnectReason
- The disconnect reason that provides the generic cause for the disconnect.sendNotification
- Indicates whether to try to provide notification to the client that the connection will be closed.message
- The message to send to the client. It may be null
if no notification is to be sent.@PublicAPI(stability=PRIVATE, mayInstantiate=false, mayExtend=false, mayInvoke=false) public Operation getOperationInProgress(int messageID)
getOperationInProgress
in class ClientConnection
messageID
- The message ID of the operation to retrieve.null
if no such operation could
be found.@PublicAPI(stability=PRIVATE, mayInstantiate=false, mayExtend=false, mayInvoke=false) public boolean removeOperationInProgress(int messageID)
removeOperationInProgress
in class ClientConnection
messageID
- The message ID of the operation to remove from the set of operations in progress.true
if the operation was found and removed from the set of operations in progress, or
false
if not.public String getMonitorSummary()
getMonitorSummary
in class ClientConnection
public void toString(StringBuilder buffer)
toString
in class ClientConnection
buffer
- The buffer to which the information should be appended.public long getNumberOfOperations()
getNumberOfOperations
in class ClientConnection
public int getSSF()
ClientConnection
getSSF
in class ClientConnection
public org.forgerock.opendj.ldap.Connection asConnection()
Copyright © 2010–2017 ForgeRock AS. All rights reserved.