Swim.Transport

swim · API reference

val create_udp_socket : 
  [> ([> `Generic ] as 'a) Eio.Net.ty ] Eio.Net.t ->
  sw:Eio.Switch.t ->
  addr:string ->
  port:int ->
  'a Eio.Net.datagram_socket_ty Eio.Resource.t
val send_udp : 
  [> [> `Generic ] Eio.Net.datagram_socket_ty ] Eio.Net.datagram_socket ->
  Eio.Net.Sockaddr.datagram ->
  Cstruct.t ->
  unit
val recv_udp : 
  [> [> `Generic ] Eio.Net.datagram_socket_ty ] Eio.Net.datagram_socket ->
  Cstruct.t ->
  int * Eio.Net.Sockaddr.datagram
val create_tcp_listener : 
  [> ([> `Generic ] as 'a) Eio.Net.ty ] Eio.Net.t ->
  sw:Eio.Switch.t ->
  addr:string ->
  port:int ->
  backlog:int ->
  'a Eio.Net.listening_socket_ty Eio.Std.r
val connect_tcp : 
  [> ([> `Generic ] as 'a) Eio.Net.ty ] Eio.Net.t ->
  sw:Eio.Switch.t ->
  addr:Eio.Net.Sockaddr.stream ->
  timeout:float ->
  clock:[> float Eio.Time.clock_ty ] Eio.Time.clock ->
  ('a Eio.Net.stream_socket_ty Eio.Std.r, Types.send_error) result
val send_tcp : 
  [> Eio.Flow.sink_ty ] Eio.Flow.sink ->
  Cstruct.t ->
  (unit, Types.send_error) result
val recv_tcp : 
  [> Eio.Flow.source_ty ] Eio.Flow.source ->
  Cstruct.t ->
  (int, Types.send_error) result
val parse_addr_port : string -> (string * int, [> `Invalid_addr ]) result
val parse_udp_addr : 
  string ->
  ([> `Udp of Eio.Net.Ipaddr.v4v6 * int ], [> `Invalid_addr ]) result
val parse_tcp_addr : 
  string ->
  ([> `Tcp of Eio.Net.Ipaddr.v4v6 * int ], [> `Invalid_addr ]) result