public class Protocol extends Object
The Protocol object is multithread safe.
Modifier and Type | Field and Description |
---|---|
protected boolean |
debug |
protected String |
host |
protected PrintStream |
out |
protected String |
prefix |
protected Properties |
props |
protected boolean |
quote |
Constructor and Description |
---|
Protocol(InputStream in,
OutputStream out,
boolean debug)
Constructor for debugging.
|
Protocol(String host,
int port,
boolean debug,
PrintStream out,
Properties props,
String prefix,
boolean isSSL)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addResponseHandler(ResponseHandler h)
Adds a response handler.
|
Response[] |
command(String command,
Argument args)
Send a command to the server.
|
protected void |
disconnect()
Disconnect.
|
protected void |
finalize()
Finalizer.
|
protected ResponseInputStream |
getInputStream()
Return the Protocol's InputStream.
|
protected String |
getLocalHost()
Get the name of the local host.
|
protected OutputStream |
getOutputStream()
Return the Protocol's OutputStream
|
protected ByteArray |
getResponseBuffer()
Return a buffer to be used to read a response.
|
long |
getTimestamp()
Returns the timestamp.
|
void |
handleResult(Response response)
Convenience routine to handle OK, NO, BAD and BYE responses.
|
void |
notifyResponseHandlers(Response[] responses)
Notify response handlers
|
protected void |
processGreeting(Response r) |
Response |
readResponse() |
void |
removeResponseHandler(ResponseHandler h)
Removed the specified response handler.
|
protected void |
resumeTracing()
Resume protocol tracing, if it was enabled to begin with.
|
void |
simpleCommand(String cmd,
Argument args)
Convenience routine to handle simple IAP commands
that do not have responses specific to that command.
|
void |
startTLS(String cmd)
Start TLS on the current connection.
|
protected boolean |
supportsNonSyncLiterals()
Returns whether this Protocol supports non-synchronizing literals
Default is false.
|
protected void |
suspendTracing()
Temporarily turn off protocol tracing, e.g., to prevent
tracing the authentication sequence, including the password.
|
String |
writeCommand(String command,
Argument args) |
protected String host
protected boolean debug
protected boolean quote
protected PrintStream out
protected Properties props
protected String prefix
public Protocol(String host, int port, boolean debug, PrintStream out, Properties props, String prefix, boolean isSSL) throws IOException, ProtocolException
Opens a connection to the given host at given port.
host
- host to connect toport
- portnumber to connect todebug
- debug modeout
- debug output streamprops
- Properties object used by this protocolprefix
- Prefix to prepend to property keysIOException
ProtocolException
public Protocol(InputStream in, OutputStream out, boolean debug) throws IOException
IOException
public long getTimestamp()
public void addResponseHandler(ResponseHandler h)
public void removeResponseHandler(ResponseHandler h)
public void notifyResponseHandlers(Response[] responses)
protected void processGreeting(Response r) throws ProtocolException
ProtocolException
protected ResponseInputStream getInputStream()
protected OutputStream getOutputStream()
protected boolean supportsNonSyncLiterals()
public Response readResponse() throws IOException, ProtocolException
IOException
ProtocolException
protected ByteArray getResponseBuffer()
public String writeCommand(String command, Argument args) throws IOException, ProtocolException
IOException
ProtocolException
public Response[] command(String command, Argument args)
command
- the commandargs
- the argumentspublic void handleResult(Response response) throws ProtocolException
ProtocolException
public void simpleCommand(String cmd, Argument args) throws ProtocolException
ProtocolException
public void startTLS(String cmd) throws IOException, ProtocolException
cmd
is the command to issue to start TLS negotiation.
If the command succeeds, we begin TLS negotiation.IOException
ProtocolException
protected void disconnect()
protected String getLocalHost()
protected void suspendTracing()
protected void resumeTracing()
Copyright © 2018 JBoss by Red Hat. All rights reserved.