Skip to content

Commit eafb94e

Browse files
authored
Merge pull request #69 from dinosaure/mirage.4.6.0
Upgrade the unikernel to mirasge.4.6.0
2 parents 15fd80c + 67cbacc commit eafb94e

File tree

2 files changed

+30
-20
lines changed

2 files changed

+30
-20
lines changed

mirage/config.ml

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,17 @@
1-
open Mirage
1+
(* mirage >= 4.6.0 & < 4.6.1 *)
22

3-
let port =
4-
let doc =
5-
Key.Arg.info ~doc:"Set the port where the relay will listen."
6-
[ "p"; "port" ]
7-
in
8-
Key.(create "port" Arg.(opt int 9000 doc))
3+
open Mirage
94

10-
let secure_port =
11-
let doc =
12-
Key.Arg.info ~doc:"The port of the relay where secured rooms are available."
13-
[ "secure-port" ]
14-
in
15-
Key.(create "secure_port" Arg.(opt int 9001 doc))
5+
let setup = runtime_arg ~pos:__POS__ "Unikernel.K.setup"
166

177
let bob =
18-
foreign "Unikernel.Make"
8+
main "Unikernel.Make" ~runtime_args:[ setup ]
199
~packages:
2010
[
2111
package "bob" ~pin:"git+https://github.com/dinosaure/bob.git";
2212
package "spoke" ~sublibs:[ "core" ];
2313
package "psq";
2414
]
25-
~keys:[ Key.v port; Key.v secure_port ]
2615
(time @-> stackv4v6 @-> job)
2716

2817
let time = default_time

mirage/unikernel.ml

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
open Lwt.Infix
22

3+
module K = struct
4+
open Cmdliner
5+
6+
let port =
7+
let doc =
8+
Arg.info ~doc:"Set the port where the relay will listen." [ "p"; "port" ]
9+
in
10+
Arg.(value & opt int 9000 doc)
11+
12+
let secure_port =
13+
let doc =
14+
Arg.info
15+
~doc:"The port of the relay where the secured rooms are available."
16+
[ "secure-port" ]
17+
in
18+
Arg.(value & opt int 9001 doc)
19+
20+
type t = { port : int; secure_port : int }
21+
22+
let v port secure_port = { port; secure_port }
23+
let setup = Term.(const v $ port $ secure_port)
24+
end
25+
326
module Psq =
427
Psq.Make
528
(String)
@@ -444,14 +467,12 @@ module Make (Time : Mirage_time.S) (Stack : Tcpip.Stack.V4V6) = struct
444467

445468
module Bob_clear = Make (Stack.TCP)
446469

447-
let start _time stack =
470+
let start _time stack { K.port; K.secure_port } =
448471
let rooms = Bob.Secured.make () in
449472
let handshake socket = Lwt.return (Ok (socket, Stack.TCP.dst socket)) in
450473
Lwt.join
451474
[
452-
Bob_clear.relay ~port:(Key_gen.port ()) ~handshake (Stack.tcp stack)
453-
rooms;
454-
Secured.secure_room ~port:(Key_gen.secure_port ()) (Stack.tcp stack)
455-
rooms;
475+
Bob_clear.relay ~port ~handshake (Stack.tcp stack) rooms;
476+
Secured.secure_room ~port:secure_port (Stack.tcp stack) rooms;
456477
]
457478
end

0 commit comments

Comments
 (0)