|
Platform SDK Java 8.5 API Reference | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.genesyslab.platform.commons.protocol.AbstractChannel
com.genesyslab.platform.commons.protocol.DuplexChannel
public class DuplexChannel
Allows for asynchronous two-way communication between a Platform SDK
application and a server. It is the parent class of ClientChannel
.
beginOpen()
, beginClose()
, and all
event-firing operations.
AbstractChannel.configure(com.genesyslab.platform.commons.connection.configuration.ConnectionConfiguration)
method. Another is to pass configuration parameters in the URL. Second way
will work only if first one wasn't used.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class com.genesyslab.platform.commons.protocol.AbstractChannel |
---|
AbstractChannel.AsyncErrorNotifier |
Field Summary | |
---|---|
protected MessageFilter |
messageFilter
|
Fields inherited from interface com.genesyslab.platform.commons.protocol.Receiver |
---|
DEF_INPUT_SIZE |
Fields inherited from interface com.genesyslab.platform.commons.protocol.Channel |
---|
DEFAULT_TIMEOUT, INFINITE_TIMEOUT |
Constructor Summary | |
---|---|
protected |
DuplexChannel(Connection conn,
Endpoint endpoint,
ProtocolFactory factory)
Creates channel for server connection. |
protected |
DuplexChannel(Connection conn,
ProtocolFactory factory,
long timeout)
Deprecated. |
|
DuplexChannel(Endpoint endpoint,
ProtocolFactory protocolFactory)
Creates channel. |
|
DuplexChannel(Endpoint endpoint,
ProtocolFactory protocolFactory,
long timeout)
Creates channel. |
Method Summary | ||
---|---|---|
void |
addListener(OutputChannelListener listener)
Attaches listener to OutputChannel implementer instance. |
|
protected void |
applyConfiguration()
|
|
void |
beginClose()
Closes channel asynchronously. |
|
void |
beginOpen()
Begins channel opening asynchronously. |
|
protected void |
cancelCloseTimeout()
|
|
protected void |
cancelOpenTimeout()
|
|
void |
clearInput()
Clears input queue of the channel. |
|
void |
close()
Closes channel synchronously. |
|
void |
close(boolean force)
Closes channel synchronously. |
|
void |
close(long timeout)
Closes channel synchronously. |
|
java.util.concurrent.Future<ChannelClosedEvent> |
closeAsync()
Close the channel asynchronously. |
|
|
closeAsync(CompletionHandler<ChannelClosedEvent,A> handler,
A attachment)
Close channel asynchronously. |
|
|
closeAsync(long timeout,
CompletionHandler<ChannelClosedEvent,A> handler,
A attachment)
Open channel asynchronously. |
|
protected ChannelClosedEvent |
createChannelClosedEvent(ChannelState prevState,
java.lang.Throwable cause)
|
|
protected Connection |
createConnection(Endpoint endpoint)
|
|
protected ConnectionClosedEvent |
createConnectionClosedEvent(java.lang.Throwable e)
|
|
protected void |
doBeginClose()
Closes the channel without checking it's state. |
|
protected void |
doClose(long closeTimeout)
Closes the channel without checking it's state. |
|
protected void |
doSend(Message message)
Sends the message unconditionally. |
|
protected boolean |
downgradeConnection()
|
|
protected com.genesyslab.platform.commons.protocol.runtime.license.LicenseRestriction |
getDefaultRestriction()
Returns default restriction for protocol. |
|
protected java.lang.String |
getEnpointPrefixInfo()
|
|
int |
getInputSize()
Returns the amount of messages this Receiver can hold before start to "forget stale messages". |
|
com.genesyslab.platform.commons.connection.interceptor.Interceptor |
getInterceptor()
Returns interceptor of the connection behind this channel. |
|
java.net.InetSocketAddress |
getLocalEndPoint()
Gets current local InetSocketAddress of socket, if it is created. |
|
protected java.lang.String |
getLocalEndpointInfo(Endpoint endpoint)
|
|
MessageFilter |
getLogMessageFilter()
Gets current message logining filter. |
|
protected ProtocolException |
getOpenTimeoutException(long timeout)
Creates open timeout exception and logs it. |
|
ProtocolDescription |
getProtocolDescription()
|
|
protected ProtocolFactory |
getProtocolFactory()
|
|
int |
getProtocolId()
Returns unique identification number of the channel instance. |
|
java.net.InetSocketAddress |
getRemoteEndPoint()
Gets current remote InetSocketAddress of socket, if it is created. |
|
protected ProtocolException |
getTimeoutException(java.lang.String operation,
long timeout)
Creates timeout exception and logs it. |
|
protected void |
initPackager(Connection connection,
java.lang.Object protocolData)
|
|
protected boolean |
isMessageAllowed(Message message)
Checks if message is allowed to be sent with the restrictions in effect. |
|
protected
|
notifyWithObject(Slot<N> syncObject,
N notification)
Notifies syncObject with some notification object. |
|
protected void |
onClose(ConnectionClosedEvent event)
|
|
protected void |
onFireClosed(ChannelClosedEvent event)
|
|
protected void |
onFireErrorEvent(ChannelErrorEvent event)
|
|
protected void |
onFireOpened(java.util.EventObject event)
|
|
protected void |
onOpen()
This method is called when channel is opened and just about to call event handler. |
|
protected void |
onReceiveMessage(Message msg)
Gives to subclass a chance to perform some operations on incoming message arrival before delivering it to connection user code. |
|
protected void |
onSend(Message message)
Gives to subclass a chance to modify message before sending it to remote party. |
|
void |
open()
Opens the channel by opening underlying connection including protocol specific handshake procedure. This method will block until connection is opened or detects an error condition, possibly forever. |
|
void |
open(long openTimeout)
Opens the channel by opening underlying connection including protocol specific handshake procedure using specified protocol timeout value. Timeout can be set to following values: positive value - time in ms. |
|
java.util.concurrent.Future<ChannelOpenedEvent> |
openAsync()
Method is asynchronous. |
|
|
openAsync(CompletionHandler<java.util.EventObject,A> handler,
A attachment)
Open channel asynchronously. |
|
java.util.concurrent.Future<ChannelOpenedEvent> |
openAsync(java.lang.Long timeout)
Method is asynchronous. |
|
|
openAsync(long timeout,
CompletionHandler<java.util.EventObject,A> handler,
A attachment)
Open channel asynchronously. |
|
protected void |
processClose(ConnectionClosedEvent event)
|
|
protected void |
processCloseAll(ConnectionClosedEvent event)
|
|
Message |
receive()
This synchronous method blocks until it receives a message from the server. |
|
Message |
receive(long timeout)
This synchronous method blocks until it receives a message from the server or until it reaches the length of the designated timeout. |
|
protected void |
receivedMessage(Message message,
Endpoint endpoint)
|
|
void |
releaseReceivers()
Notifies receivers (threads waiting on receive() methods) they should stop waiting and return null. |
|
void |
removeListener(OutputChannelListener listener)
Detaches listener from OutputChannel implementer instance. |
|
void |
resetReceiver()
Resets receiver for this channel to default. |
|
protected boolean |
resumeReading()
|
|
void |
send(Message message)
Sends message. |
|
void |
setConnectionInvoker(AsyncInvoker connectionInvoker)
Deprecated. |
|
void |
setExternalTransport(ExternalTransport transport)
|
|
void |
setInputSize(int inputSize)
Sets the amount of messages this Receiver can hold before start to "forget stale messages". |
|
void |
setLogMessageFilter(MessageFilter filter)
Sets current message logining filter. |
|
void |
setMessageHandler(MessageHandler msgHandler)
Sets asynchronous handler for incoming messages. Incoming messages on this channel will be handled with its connection invoker (see AbstractChannel.setInvoker(AsyncInvoker) ). |
|
protected void |
setProtocolData(java.lang.Object protocolData)
|
|
void |
setReceiver(MessageReceiverSupport receiver)
Sets receiver for this channel. |
|
protected void |
setState(ChannelState state,
ConnectionClosedEvent closedEvent)
|
|
protected boolean |
startUpgradeConnection(java.lang.Runnable notificationCallback)
|
|
protected boolean |
stopReading()
|
|
java.lang.String |
toString()
|
|
protected
|
triggerWithObject(Slot<N> syncObject,
N notification)
Notifies IF SOMEONE is waiting, doesn't block notifier thread. |
|
protected boolean |
upgradeConnection()
|
|
protected
|
waitForObject(Slot<N> syncObject,
long timeout)
Deprecated. |
Methods inherited from class com.genesyslab.platform.commons.protocol.AbstractChannel |
---|
addChannelListener, configure, connectionContext, copyTLSSettings, fireClosed, fireErrorEvent, fireErrorEvent, generateChannelId, getChannelId, getConfiguration, getDefaultInvoker, getEndpoint, getInvoker, getListenerHelper, getServerContext, getState, getStateMods, getTimeout, internal, onSetEndpoint, releaseDefaultInvoker, removeChannelListener, setConfiguration, setEndpoint, setInvoker, setServerContext, setState, setTimeout, throwNotClosed, throwNotOpened, throwNotOpenedOnClose, throwNotOpenedOnSend, throwNull, throwNullEndpoint |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface com.genesyslab.platform.commons.protocol.Channel |
---|
getTimeout, setTimeout |
Methods inherited from interface com.genesyslab.platform.commons.protocol.AsyncChannel |
---|
getState |
Methods inherited from interface com.genesyslab.platform.commons.protocol.ChannelListenerSupport |
---|
addChannelListener, removeChannelListener |
Field Detail |
---|
protected volatile MessageFilter messageFilter
Constructor Detail |
---|
public DuplexChannel(Endpoint endpoint, ProtocolFactory protocolFactory)
endpoint
- Parameters of the connection to createprotocolFactory
- Factory to create messages.public DuplexChannel(Endpoint endpoint, ProtocolFactory protocolFactory, long timeout)
endpoint
- Parameters of the connection to createprotocolFactory
- Factory to create messages.timeout
- timeout to waitResponse for message in
receive()
or open()
methodprotected DuplexChannel(Connection conn, Endpoint endpoint, ProtocolFactory factory)
conn
- the incoming connectionendpoint
- configured endpointfactory
- the protocol factory@Deprecated protected DuplexChannel(Connection conn, ProtocolFactory factory, long timeout)
Method Detail |
---|
public int getProtocolId()
AbstractChannel.getChannelId()
.
AbstractChannel.getChannelId()
public void open() throws RegistrationException, ProtocolException, java.lang.IllegalStateException, java.lang.InterruptedException
open(long)
method to use custom timeout
or change the protocol timeout value with AbstractChannel.setTimeout(long)
before opening.
open
in interface Channel
ProtocolSecurityException
- if any security problems occurs on a channel
ProtocolIOException
- will thrown if connection IO exception occurs
ProtocolTimeoutException
- if channel wasn't opened for the specified time
ChannelEmergencyClosedException
- if channel was closed while opening
RegistrationException
- if there is an error related to registration procedure
like server error about wrong client name, user password, etc
RegistrationTimeoutException
- if connection to server was established but handshake procedure has timed out
ProtocolException
- In the case of an unrecoverable protocol error. Client applications should not
try to deal with these exceptions, except for logging or displaying to users or technical administrators.
Check the exception cause for more details.
java.lang.IllegalStateException
- when channel endpoint is not assigned
ChannelNotClosedException
- if channel is not in Closed
state
java.lang.InterruptedException
- in case the open operation was interrupted.AbstractChannel.setTimeout(long)
,
open(long)
public void open(long openTimeout) throws RegistrationException, ProtocolException, ChannelNotClosedException, java.lang.InterruptedException
open
in interface Channel
openTimeout
- time to waitResponse for the connection
ProtocolSecurityException
- if any security problems occurs on a channel
ProtocolIOException
- will thrown if connection IO exception occurs
ProtocolTimeoutException
- if channel wasn't opened for the specified time
ChannelEmergencyClosedException
- if channel was closed while opening
RegistrationException
- if there is an error related to registration procedure
like server error about wrong client name, user password, etc
RegistrationTimeoutException
- if connection to server was established but handshake procedure has timed out
ProtocolException
- In the case of an unrecoverable protocol error. Client applications should not
try to deal with these exceptions, except for logging or displaying to users or technical administrators.
Check the exception cause for more details.
java.lang.IllegalStateException
- when channel endpoint is not assigned
ChannelNotClosedException
- if channel is not in Closed
state
java.lang.InterruptedException
- in case the open operation was interrupted.open()
public void beginOpen() throws ProtocolException
beginOpen
in interface AsyncChannel
java.lang.IllegalArgumentException
- when channel endpoint is not assigned
ChannelNotClosedException
- when channel state isn't closed
ProtocolException
- in case of problems establishing connectionpublic void close() throws ProtocolException, java.lang.InterruptedException, java.lang.IllegalStateException
close
in interface Channel
ProtocolTimeoutException
- if channel wasn't closed for the specified time
ProtocolException
- In the case of an unrecoverable protocol error. Client applications should not
try to deal with these exceptions, except for logging or displaying to users or technical administrators.
Check the exception cause for more details.
java.lang.InterruptedException
- in case the close operation was interrupted.
java.lang.IllegalStateException
- exception will not be thrown in current implementation.public void close(boolean force) throws ProtocolException, java.lang.InterruptedException, java.lang.IllegalStateException
force
- if this flag is true then sending messages from queue will be canceled and channel will be closed immediately
ProtocolTimeoutException
- if channel wasn't closed for the specified time (when force == false)
ProtocolException
- In the case of an unrecoverable protocol error. Client applications should not
try to deal with these exceptions, except for logging or displaying to users or technical administrators.
Check the exception cause for more details.
java.lang.InterruptedException
- in case the close operation was interrupted.
java.lang.IllegalStateException
- Exception will not be thrown in current implementation even if the channel is closed.public void close(long timeout) throws ProtocolException, java.lang.InterruptedException, java.lang.IllegalStateException
close
in interface Channel
timeout
- time in milliseconds
ProtocolTimeoutException
- if channel wasn't closed for the specified time
ProtocolException
- In the case of an unrecoverable protocol error. Client applications should not
try to deal with these exceptions, except for logging or displaying to users or technical administrators.
Check the exception cause for more details.
java.lang.InterruptedException
- in case the close operation was interrupted.
java.lang.IllegalStateException
- exception will not be thrown in current implementation.public void beginClose() throws java.lang.IllegalStateException
beginClose
in interface AsyncChannel
java.lang.IllegalStateException
- Exception will not be thrown in current implementation even if the channel is closed.public java.net.InetSocketAddress getLocalEndPoint()
InetSocketAddress
of socket, if it is created.
public java.net.InetSocketAddress getRemoteEndPoint()
InetSocketAddress
of socket, if it is created.
public Message receive() throws java.lang.InterruptedException
send
method to wait for the response.
It can also be used on its own, in which case it will wait for the next event
from the server that is directed at the issuing application.
Here is a sample of how to use the send
and receive
methods:
interactionServerProtocol.send(requestAgentLogin);
Message response = interactionServerProtocol.receive();
You can also use receive
on its own, like this:
Message unsolicitedEvent = interactionServerProtocol.receive();
Note, that when the channel is closed for any reason it tries to "release"
all receive() methods that are currently waiting, which causes them to return null.
If this method is called during that process than this or some another receive()
won't be released. So, its strongly recommended to avoid calling it during the close
process.
- Specified by:
receive
in interface MessageReceiver
- Returns:
- Message from the channel or null if the channel is "empty"
- Throws:
java.lang.InterruptedException
- if thread is interrupted during this method
execution- See Also:
setMessageHandler(MessageHandler)
public Message receive(long timeout) throws java.lang.InterruptedException
receive()
.
See
Channel
for the meaning of the timeout values.
receive
in interface MessageReceiver
timeout
- timeout to waitResponse for message
java.lang.InterruptedException
- if thread is interrupted during this method
executionsetMessageHandler(MessageHandler)
public void send(Message message) throws ProtocolException, java.lang.IllegalStateException
send
in interface OutputChannel
message
- message to send
java.lang.IllegalArgumentException
- if message is null
ChannelClosedOnSendException
- if channel is in inappropriate state to execute the request
ProtocolException
- In the case of an unrecoverable protocol error. Client applications should not
try to deal with these exceptions, except for logging or displaying to users or technical administrators.
Check the exception cause for more details.
java.lang.IllegalStateException
public void addListener(OutputChannelListener listener)
OutputChannel
addListener
in interface OutputChannel
listener
- listener to be attached.public void removeListener(OutputChannelListener listener)
OutputChannel
removeListener
in interface OutputChannel
listener
- listener to be detached.public int getInputSize()
Receiver
getInputSize
in interface Receiver
public void setInputSize(int inputSize)
Receiver
setInputSize
in interface Receiver
inputSize
- maximum count of messages stored in receiverpublic void releaseReceivers()
Receiver
releaseReceivers
in interface Receiver
public com.genesyslab.platform.commons.connection.interceptor.Interceptor getInterceptor()
ConnectionConfiguration
class and AbstractChannel.configure(
com.genesyslab.platform.commons.connection.configuration.ConnectionConfiguration)
method.
getInterceptor
in interface InterceptorSupport
public void clearInput()
clearInput
in interface Receiver
public void setReceiver(MessageReceiverSupport receiver)
setMessageHandler(MessageHandler)
).
setReceiver
in interface MessageReceiverManagement
receiver
- new Receiver
ChannelNotClosedException
- when channel isn't closed
ChannelReceiverInitializationException
- when protocol has MessageHandler initializedsetMessageHandler(MessageHandler)
public void setMessageHandler(MessageHandler msgHandler)
AbstractChannel.setInvoker(AsyncInvoker)
).
setMessageHandler
in interface InputChannel
msgHandler
- incoming messages handler
ChannelReceiverInitializationException
- when protocol has external Receiver initialized
ChannelNotClosedException
- when channel isn't closedpublic void resetReceiver()
resetReceiver
in interface ReceiverManagement
ChannelNotClosedException
- when channel isn't closed@Deprecated public void setConnectionInvoker(AsyncInvoker connectionInvoker)
setConnectionInvoker
in interface ConnectionInvokerSupport
setConnectionInvoker
in class AbstractChannel
connectionInvoker
- asynchronous invoker for connection
ChannelNotClosedException
- if channels isn't closedpublic ProtocolDescription getProtocolDescription()
getProtocolDescription
in interface ProtocolDescriptionSupport
public java.lang.String toString()
toString
in class java.lang.Object
protected void setProtocolData(java.lang.Object protocolData)
protected void initPackager(Connection connection, java.lang.Object protocolData)
protected ProtocolFactory getProtocolFactory()
protected void doSend(Message message) throws ProtocolException
message
- message to send
ProtocolException
- In the case of an unrecoverable protocol error. Client applications should not
try to deal with these exceptions, except for logging or displaying to users or technical administrators.
Check the exception cause for more details.protected final boolean isMessageAllowed(Message message) throws ProtocolException
message
- message to check
ProtocolException
- if message is strictly forbiddenprotected com.genesyslab.platform.commons.protocol.runtime.license.LicenseRestriction getDefaultRestriction()
protected void doClose(long closeTimeout) throws ProtocolException, java.lang.InterruptedException
closeTimeout
- timeout to wait success
ProtocolException
- In the case of an unrecoverable protocol error. Client applications should not
try to deal with these exceptions, except for logging or displaying to users or technical administrators.
Check the exception cause for more details.
java.lang.InterruptedException
- in case the close operation was interrupted.protected void doBeginClose()
protected void onOpen() throws ProtocolException
ProtocolException
- if there are problems during
post open operations (e.g. registration)protected void onSend(Message message) throws ProtocolException
message
- Message to modify
ProtocolException
- In the case of an unrecoverable protocol error. Client applications should not
try to deal with these exceptions, except for logging or displaying to users or technical administrators.
Check the exception cause for more details.protected void onClose(ConnectionClosedEvent event)
protected void onReceiveMessage(Message msg)
msg
- received messageprotected Connection createConnection(Endpoint endpoint)
@Deprecated protected <N> N waitForObject(Slot<N> syncObject, long timeout) throws java.lang.InterruptedException
syncObject
is notified or
timeout expires. By contract syncObject
is notified
with some object and null is used to signal timeout in this method.
So do not use null to notify syncObject
syncObject
- synchronization objecttimeout
- timeout in ms. to waitResponse for object
java.lang.InterruptedException
- if thread is interruptedprotected <N> void notifyWithObject(Slot<N> syncObject, N notification) throws java.lang.InterruptedException
syncObject
with some notification object.
By contract syncObject
is notified
with object and null is used to signal timeout in this method.
So do not use null to notify syncObject
unless you're
trying to simulate timeout.
syncObject
- synchronization objectnotification
- notification object
java.lang.InterruptedException
- if thread is interruptedprotected <N> boolean triggerWithObject(Slot<N> syncObject, N notification) throws java.lang.InterruptedException
syncObject
- object to use for notificationnotification
- data object passed from notifier
java.lang.InterruptedException
- if thread is interruptednotifyWithObject(Slot, Object)
protected ProtocolException getTimeoutException(java.lang.String operation, long timeout)
operation
- operation which is timed outtimeout
- timeout was used to wait
protected ProtocolException getOpenTimeoutException(long timeout)
timeout
- timeout was used to wait
protected void setState(ChannelState state, ConnectionClosedEvent closedEvent)
setState
in class AbstractChannel
protected void cancelOpenTimeout()
protected void cancelCloseTimeout()
protected java.lang.String getEnpointPrefixInfo()
getEnpointPrefixInfo
in class AbstractChannel
protected java.lang.String getLocalEndpointInfo(Endpoint endpoint)
getLocalEndpointInfo
in class AbstractChannel
protected void applyConfiguration()
applyConfiguration
in class AbstractChannel
protected void processCloseAll(ConnectionClosedEvent event)
protected void processClose(ConnectionClosedEvent event)
protected boolean upgradeConnection()
protected boolean startUpgradeConnection(java.lang.Runnable notificationCallback)
protected boolean downgradeConnection()
protected boolean stopReading()
protected boolean resumeReading()
public void setExternalTransport(ExternalTransport transport)
protected void receivedMessage(Message message, Endpoint endpoint)
public MessageFilter getLogMessageFilter()
LogMessageFilterSupport
getLogMessageFilter
in interface LogMessageFilterSupport
public void setLogMessageFilter(MessageFilter filter)
LogMessageFilterSupport
setLogMessageFilter
in interface LogMessageFilterSupport
filter
- new message logining filter.protected ConnectionClosedEvent createConnectionClosedEvent(java.lang.Throwable e)
protected ChannelClosedEvent createChannelClosedEvent(ChannelState prevState, java.lang.Throwable cause)
createChannelClosedEvent
in class AbstractChannel
public <A> void openAsync(CompletionHandler<java.util.EventObject,A> handler, A attachment)
AsyncChannelOperations
openAsync
in interface AsyncChannelOperations
handler
- success/fail result handling.public <A> void openAsync(long timeout, CompletionHandler<java.util.EventObject,A> handler, A attachment)
AsyncChannelOperations
openAsync
in interface AsyncChannelOperations
timeout
- operation timeout in milliseconds. Timeout will cancel the opening.handler
- success/fail result handling.public <A> void closeAsync(CompletionHandler<ChannelClosedEvent,A> handler, A attachment)
AsyncChannelOperations
closeAsync
in interface AsyncChannelOperations
handler
- success/fail result handling.public <A> void closeAsync(long timeout, CompletionHandler<ChannelClosedEvent,A> handler, A attachment)
AsyncChannelOperations
closeAsync
in interface AsyncChannelOperations
timeout
- operation timeout in milliseconds.
Timeout do not cancel the closing and do not close forcly the channel.handler
- success/fail result handling.protected void onFireOpened(java.util.EventObject event)
onFireOpened
in class AbstractChannel
protected void onFireClosed(ChannelClosedEvent event)
onFireClosed
in class AbstractChannel
protected void onFireErrorEvent(ChannelErrorEvent event)
onFireErrorEvent
in class AbstractChannel
public java.util.concurrent.Future<ChannelOpenedEvent> openAsync()
ProtocolException
- in case of some protocol specific problems while connection opening initialization.public java.util.concurrent.Future<ChannelOpenedEvent> openAsync(java.lang.Long timeout)
timeout
- it specifies channel opening timeout in milliseconds.
ProtocolException
- in case of some protocol specific problems while connection opening initialization.public java.util.concurrent.Future<ChannelClosedEvent> closeAsync()
Note: It hasn't related with the channel timeout. Use the future.get() with a timeout instead.
ProtocolException
- in case of some protocol specific problems while connection opening initialization.
|
Platform SDK Java 8.5 API Reference | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |