Skip to content

Commit 8d0f4ca

Browse files
committed
update to mirage-flow 4.0.0 (val shutdown) API and tcpip 8.0.1 (val src) API
1 parent 5783ca2 commit 8d0f4ca

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

mirage/utcp_mirage.ml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ module Make (R : Mirage_random.S) (Mclock : Mirage_clock.MCLOCK) (Time : Mirage_
3333
let _, (dst, dst_port) = Utcp.peers flow in
3434
dst, dst_port
3535

36+
let src (_t, flow) =
37+
let (src, src_port), _ = Utcp.peers flow in
38+
src, src_port
39+
3640
let output_ip t (src, dst, seg) =
3741
let size = Utcp.Segment.length seg in
3842
Log.debug (fun m -> m "output to %a: %a" Ipaddr.pp dst Utcp.Segment.pp seg);
@@ -122,6 +126,15 @@ module Make (R : Mirage_random.S) (Mclock : Mirage_clock.MCLOCK) (Time : Mirage_
122126
Log.err (fun m -> m "%a error in close: %s" Utcp.pp_flow flow msg);
123127
Lwt.return_unit
124128

129+
let shutdown (t, flow) mode =
130+
match Utcp.shutdown t.tcp (now ()) flow mode with
131+
| Ok (tcp, segs) ->
132+
t.tcp <- tcp ;
133+
output_ign t segs
134+
| Error `Msg msg ->
135+
Log.err (fun m -> m "%a error in shutdown: %s" Utcp.pp_flow flow msg);
136+
Lwt.return_unit
137+
125138
let write_nodelay flow buf = write flow buf
126139

127140
let writev_nodelay flow bufs = write flow (Cstruct.concat bufs)

utcp.opam

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@ depends: [
2323
"mirage-random" {>= "2.0.0"}
2424
"mirage-time" {>= "2.0.1"}
2525
"mirage-clock" {>= "3.1.0"}
26-
"tcpip" {>= "7.0.0"}
26+
"tcpip" {>= "8.0.1"}
27+
"mirage-flow" {>= "4.0.0"}
2728
#for apps
2829
"cmdliner" {>= "1.1.0" & dev}
2930
"mirage-net-unix" {>= "2.8.0" & dev}

0 commit comments

Comments
 (0)