Package tlschannel

Class NeedsReadException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
All Implemented Interfaces:
java.io.Serializable

public class NeedsReadException
extends WouldBlockException
This exception signals the caller that the operation cannot continue because bytesProduced need to be read from the underlying ByteChannel, the channel is non-blocking and there are no bytesProduced available. The caller should try the operation again, either with the channel in blocking mode of after ensuring that bytesProduced are ready.

For SocketChannels, a Selector can be used to find out when the method should be retried.

Caveat: Any TlsChannel I/O method can throw this exception. In particular, write may want to read data. This is because TLS handshakes may occur at any time (initiated by either the client or the server).

This exception is akin to the SSL_ERROR_WANT_READ error code used by OpenSSL.

See Also:
OpenSSL error documentation, Serialized Form
  • Constructor Summary

    Constructors 
    Constructor Description
    NeedsReadException()  
  • Method Summary

    Methods inherited from class tlschannel.TlsChannelFlowControlException

    fillInStackTrace

    Methods inherited from class java.lang.Throwable

    addSuppressed, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait