Created
April 6, 2020 14:07
-
-
Save Oldes/084cd8567fa91f787b45d32d0e6f1480 to your computer and use it in GitHub Desktop.
Gabriele's TCP bug test script
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
REBOL [ ] | |
listen: open tcp://:8080 | |
port: open tcp://localhost:8080 | |
start: 0 | |
listen/awake: func [event] [ | |
;print "Listen Awake" | |
switch/default event/type [ | |
accept [ | |
;print "Accept" | |
c: first event/port | |
;c/data: make binary! 1000000 | |
c/awake: func [event] [ | |
;print "Accepted port Awake" | |
switch/default event/type [ | |
read [ | |
print ["Read" length? event/port/data] | |
parse event/port/data [ | |
;some [ | |
; "1234567890" | |
; | | |
; here: (print ["Diff here:" index? here mold copy/part here 20]) | |
; to "1234567890" here: (print ["Back to normal at index" index? here]) | |
;] | |
some [to #"^(00)" mk1: some #"^(00)" mk2: (print [offset? mk1 mk2 "zeros starting at" start + index? mk1])] | |
] | |
start: start + length? event/port/data | |
clear event/port/data | |
read event/port | |
] | |
] [ | |
print ["Receiver: Unrecognized event:" event/type] | |
] | |
false | |
] | |
read c | |
] | |
] [ | |
print ["Listen: Unrecognized event:" event/type] | |
] | |
false | |
] | |
port/awake: func [event] [ | |
;print "Port Awake" | |
switch/default event/type [ | |
connect [ | |
;print "Connect" | |
print ["Writing" length? data "bytes"] | |
write event/port data | |
] | |
lookup [ | |
open event/port | |
] | |
wrote [ | |
print "Wrote" | |
print ["Writing" length? data "bytes"] | |
write event/port data | |
] | |
error [ | |
print "ERROR?!?" | |
] | |
] [ | |
print ["Sender: Unrecognized event:" event/type] | |
] | |
false | |
] | |
data: make binary! 32000 | |
insert/dup data "1234567890" 3200 | |
print "Starting test..." | |
wait 4 | |
halt |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment