tcp
This commit is contained in:
parent
648ff6df6d
commit
c906f2c5d3
2 changed files with 10 additions and 2 deletions
|
@ -204,7 +204,7 @@ jfuLKkCfGcw9A8o=
|
||||||
|} in
|
|} in
|
||||||
X509.Encoding.Pem.Certificate.of_pem_cstruct1 data
|
X509.Encoding.Pem.Certificate.of_pem_cstruct1 data
|
||||||
|
|
||||||
let create s ?(port = 8093) ?hostname ?(interval = 10) certificates =
|
let create_tls ?(port = 8093) ?hostname ?(interval = 10) s certificates =
|
||||||
Metrics.enable_all ();
|
Metrics.enable_all ();
|
||||||
let flows = I.create ~interval ?hostname () in
|
let flows = I.create ~interval ?hostname () in
|
||||||
Lwt.async (L.collect (fun () -> T.sleep_ns (Duration.of_sec interval)));
|
Lwt.async (L.collect (fun () -> T.sleep_ns (Duration.of_sec interval)));
|
||||||
|
@ -217,6 +217,13 @@ jfuLKkCfGcw9A8o=
|
||||||
TLS.server_of_flow server flow >|= function
|
TLS.server_of_flow server flow >|= function
|
||||||
| Ok tls -> I.add_flow flows tls
|
| Ok tls -> I.add_flow flows tls
|
||||||
| Error e -> Log.err (fun m -> m "TLS error %a" TLS.pp_write_error e))
|
| Error e -> Log.err (fun m -> m "TLS error %a" TLS.pp_write_error e))
|
||||||
|
|
||||||
|
module TC = Pull(T)(C)(S.TCPV4)
|
||||||
|
let create_tcp ?(port = 8093) ?hostname ?(interval = 10) s =
|
||||||
|
Metrics.enable_all ();
|
||||||
|
let flows = TC.create ~interval ?hostname () in
|
||||||
|
Lwt.async (L.collect (fun () -> T.sleep_ns (Duration.of_sec interval)));
|
||||||
|
S.listen_tcpv4 s ~port (fun flow -> Lwt.return (TC.add_flow flows flow))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,7 @@ module M : sig
|
||||||
end
|
end
|
||||||
|
|
||||||
module S (T : Mirage_time_lwt.S) (P : Mirage_clock.PCLOCK) (C : Mirage_clock.MCLOCK) (S : Mirage_stack_lwt.V4) : sig
|
module S (T : Mirage_time_lwt.S) (P : Mirage_clock.PCLOCK) (C : Mirage_clock.MCLOCK) (S : Mirage_stack_lwt.V4) : sig
|
||||||
val create : S.t -> ?port:int -> ?hostname:string -> ?interval:int -> Tls.Config.own_cert -> unit
|
val create_tls : ?port:int -> ?hostname:string -> ?interval:int -> S.t -> Tls.Config.own_cert -> unit
|
||||||
|
val create_tcp : ?port:int -> ?hostname:string -> ?interval:int -> S.t -> unit
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue