Library
Module
Module type
Parameter
Class
Class type
Network Block Device client and servers for Unix
val connect : string -> int -> Nbd.Channel.channel Lwt.t
connect hostname port
connects to host:port and returns a generic_channel
with no TLS ability or potential.
val cleartext_channel_of_fd :
Lwt_unix.file_descr ->
tls_role option ->
Nbd.Channel.cleartext_channel
cleartext_channel_of_fd fd role
returns a channel from an existing file descriptor. The channel will have a make_tls_channel
value that corresponds to role
.
val init_tls_get_ctx :
?curve:string ->
certfile:string ->
ciphersuites:string ->
unit ->
Ssl.context
Initialise the Ssl (TLS) library and then create and return a new context.
val with_block : string -> (Block.t -> 'a Lwt.t) -> 'a Lwt.t
with_block filename f
calls Block.connect filename
and applies f
to the result, with a guarantee to call Block.disconnect
afterwards.
val with_channel :
Lwt_unix.file_descr ->
tls_role option ->
(Nbd.Channel.cleartext_channel -> 'a Lwt.t) ->
'a Lwt.t
with_channel fd role f
calls cleartext_channel_of_fd fd role
then applies f
to the resulting channel, with a guarantee to call the channel's close_clear
function afterwards.
module Client : Nbd.S.CLIENT
A client allows you to access remote disks
module Server : Nbd.S.SERVER
A server allows you to expose disks to remote clients