Module Tcp_socket
type error
=[
|
Mirage_protocols.Tcp.error
|
`Exn of exn
]
type write_error
=[
|
Mirage_protocols.Tcp.write_error
|
`Exn of exn
]
val pp_error : Stdlib.Format.formatter -> [< `Exn of exn | `Refused | `Timeout ] -> unit
val pp_write_error : Stdlib.Format.formatter -> [< `Closed | `Exn of exn | `Refused | `Timeout ] -> unit
val disconnect : 'a -> unit Lwt.t
val read : Lwt_unix.file_descr -> ([> `Data of Cstruct.t | `Eof ], [> `Exn of exn ]) Stdlib.result Lwt.t
val write : Lwt_unix.file_descr -> Cstruct.t -> (unit, [> `Closed | `Exn of exn ]) Stdlib.result Lwt.t
val writev : Lwt_unix.file_descr -> Cstruct.t list -> (unit, [> `Closed | `Exn of exn ]) Stdlib.result Lwt.t
val write_nodelay : Lwt_unix.file_descr -> Cstruct.t -> (unit, [> `Closed | `Exn of exn ]) Stdlib.result Lwt.t
val writev_nodelay : Lwt_unix.file_descr -> Cstruct.t list -> (unit, [> `Closed | `Exn of exn ]) Stdlib.result Lwt.t
val close : Lwt_unix.file_descr -> unit Lwt.t
type listener
=
{
process : Lwt_unix.file_descr -> unit Lwt.t;
keepalive : Mirage_protocols.Keepalive.t option;
}
val input : 'a -> listeners:'b -> 'c Lwt.t