Package tlschannel

Class NeedsWriteException

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

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

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, read may want to write 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_WRITE error code used by OpenSSL.

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

    Constructors 
    Constructor Description
    NeedsWriteException()  
  • 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