From 03a6455594d7301a1a1b182afc7d7fbcdbb610b7 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Tue, 17 Jun 2014 17:30:20 -0400 Subject: [PATCH] Use bit-string-take and bit-string-drop (new in racket-bitsyntax 4.1) --- tcp.rkt | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/tcp.rkt b/tcp.rkt index 6e3c63b..e897ea4 100644 --- a/tcp.rkt +++ b/tcp.rkt @@ -418,8 +418,7 @@ (limit (seq+ (buffer-seqn b) (bit-string-byte-count (buffer-data b)))) (ackn (if (seq> ackn limit) limit ackn)) (dist (seq- ackn (buffer-seqn b)))) - (define-values (discarded-acknowledged-data remaining-data) - (bit-string-split-at (buffer-data b) (* dist 8))) ;; bit offset! + (define remaining-data (bit-string-drop (buffer-data b) (* dist 8))) ;; bit offset! (struct-copy conn-state s [outbound (struct-copy buffer b [data remaining-data] [seqn ackn])] [syn-acked? (or (conn-state-syn-acked? s) @@ -448,10 +447,8 @@ ;; ^ can only send SYN until SYN is acked pending-byte-count)) (define segment-offset (if (conn-state-syn-acked? s) 0 1)) - (define-values (chunk0 remaining-data) - (bit-string-split-at (buffer-data b) (* segment-size 8))) ;; bit offset! - (define-values (discarded-dummy-syn-data chunk) - (bit-string-split-at chunk0 (* segment-offset 8))) ;; bit offset! + (define chunk0 (bit-string-take (buffer-data b) (* segment-size 8))) ;; bit offset! + (define chunk (bit-string-drop chunk0 (* segment-offset 8))) ;; bit offset! (define ackn (next-expected-seqn s)) (define flags (set)) (when ackn