Skip to content
This repository
tag: v1394
Fetching contributors…

Cannot retrieve contributors at this time

file 59 lines (38 sloc) 1.54 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
(*
Copyright © 2011 MLstate

This file is part of OPA.

OPA is free software: you can redistribute it and/or modify it under the
terms of the GNU Affero General Public License, version 3, as published by
the Free Software Foundation.

OPA is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for
more details.

You should have received a copy of the GNU Affero General Public License
along with OPA. If not, see <http://www.gnu.org/licenses/>.
*)
(*
@author Adam Koprowski
*)

(* TODO hide implementation? *)
type protocol = string

type fd = Unix.file_descr

type addr = Unix.inet_addr

type connection_type = TCP | UDP | SSL | FILE

(** A complete network address *)
type t

(* FIXME, this function is identity for now but can be used to
ease possible futher transition to hiding implementation
of [protocol] *)
val mk_protocol : string -> protocol

val mk_tcp : protocol:protocol -> fd:fd -> addr:addr -> t

val mk_udp : protocol:protocol -> fd:fd -> addr:addr -> t

val mk_file : fd:fd -> t

val get_type : t -> connection_type

val get_addr : t -> addr

val get_fd : t -> fd

val get_protocol : t -> protocol

val get_type_and_fd : t -> [`Tcp of fd | `Udp of fd | `File of fd | `Ssl of Ssl.socket]

val secured_from_normal : Ssl.socket -> t -> t

val string_of_sockaddr : Unix.sockaddr -> string

val to_string : t -> string
Something went wrong with that request. Please try again.