# Method SSL.sslfile()->close()

Method close

  ``int` close(`void`|`string` `how`, `void`|`int` `clean_close`, `void`|`int` `dont_throw`)`

Description

  Close the connection. Both the read and write ends are always closed

Parameter `how`

  This argument is only for Stdio.File compatibility and must be either `"rw"` or `0`.

Parameter `clean_close`

  If set then close messages are exchanged to shut down the SSL connection but not the underlying stream. It may then continue to be used for other communication afterwards. The default is to send a close message and then close the stream without waiting for a response.

Parameter `dont_throw`

  I/O errors are normally thrown, but that can be turned off with `dont_throw`. In that case errno is set instead and `0` is returned. `1` is always returned otherwise. It's not an error to close an already closed connection.

Note

  If a clean close is requested in nonblocking mode then the stream is most likely not closed right away, and the backend is then still needed for a while afterwards to exchange the close packets. is_open returns 2 in that time window.

Note

  I/O errors from both reading and writing might occur in blocking mode.

Note

  If a clean close is requested and data following the close message is received at the same time, then this object will read it and has no way to undo that. That data can be retrieved with read afterwards.

See also

  shutdown