vibe.d beta banner
get vibe.d
0.10.1

Asynchronous I/O that doesn’t get in your way, written in D

Class OpenSSLStream

Creates an SSL/TLS tunnel within an existing stream.

class OpenSSLStream
  : TLSStream ;

Constructors

NameDescription
this (underlying, ctx, state, peer_name, peer_address, alpn)

Properties

NameTypeDescription
alpn[get] stringThe ALPN that has been negotiated for this connection.
dataAvailableForRead[get] bool(Scheduled for deprecation) Queries if there is data available for immediate, non-blocking read.
empty[get] boolReturns true iff the end of the input stream has been reached.
leastSize[get] ulong(Scheduled for deprecation) Returns the maximum number of bytes that are known to remain available for read.
peerCertificate[get] TLSCertificateInformation
peerCertificateX509[get] deimos.openssl.types.x509_st*

Methods

NameDescription
finalize () Flushes and finalizes the stream.
flush () Flushes the stream and makes sure that all data is being written to the output device.
peek () Returns a temporary reference to the data that is currently buffered.
read (dst, mode) Fills the preallocated array 'bytes' with data from the stream.
write (bytes_, mode) Writes an array of bytes to the stream.
read (dst) Fills the preallocated array 'bytes' with data from the stream.
write (bytes) Writes an array of bytes to the stream.

Aliases

NameDescription
read
write

Note

Be sure to call finalize before finalizing/closing the outer stream so that the SSL tunnel is properly closed first.

Authors

Sönke Ludwig

Copyright

© 2012-2014 Sönke Ludwig

License

Subject to the terms of the MIT license, as written in the included LICENSE.txt file.