Extract the SSL failure from the failure argument list of an asynchronous I/O callback.
comm
async-io-ssl-failure-indicator-from-failure-args failure-args => ssl-failure-indicator
| failure-args⇩ |
Any Lisp object. |
| ssl-failure-indicator⇩ | |
The function async-io-ssl-failure-indicator-from-failure-args is intended to be called with the failure arguments list that callback in create-async-io-state-and-connected-tcp-socket and async-io-state-attach-ssl receives as its second argument when a failure occurs. async-io-ssl-failure-indicator-from-failure-args checks if failure-args was generated as such an argument, and if it was, extracts the error indicator from it. ssl-failure-indicator is :timeout if the handshake timed out, :closed if the socket was closed (with a proper shutdown) during the handshake, or a ssl-condition for other SSL failures. ssl-failure-indicator is nil if some other error occured, for example failure to connect.
async-io-ssl-failure-indicator-from-failure-args is needed because the argument to callback in create-async-io-state-and-connected-tcp-socket and async-io-state-attach-ssl is a list of arguments for format, which is intended for printing/logging. async-io-ssl-failure-indicator-from-failure-args makes it easier to decide programmatically what the reason for failure is.
25.8.8 Errors in SSL
create-async-io-state-and-connected-tcp-socket
async-io-state-attach-ssl
LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:30:26