Last change
on this file since 21508 was
19181,
checked in by Moritz Heidkamp, 10 years ago
|
vandusen: get rid of regex-case dependency
|
File size:
812 bytes
|
Rev | Line | |
---|
[18259] | 1 | (module vandusen-remote () |
---|
| 2 | |
---|
[19181] | 3 | (import chicken scheme extras srfi-13) |
---|
| 4 | (require-library regex) |
---|
| 5 | (import irregex) |
---|
| 6 | (use vandusen tcp srfi-18) |
---|
[18259] | 7 | |
---|
| 8 | (plugin 'remote |
---|
| 9 | (lambda () |
---|
| 10 | (let ((listener (tcp-listen ($ 'remote-port)))) |
---|
| 11 | (add-finalizer (lambda () |
---|
| 12 | (debug "finalizing remote listener") |
---|
| 13 | (tcp-close listener))) |
---|
| 14 | |
---|
| 15 | (thread-start! (lambda () |
---|
| 16 | (let loop () |
---|
| 17 | (receive (in out) (tcp-accept listener) |
---|
| 18 | (thread-start! (lambda () |
---|
[19181] | 19 | (and-let* ((match (irregex-match |
---|
| 20 | '(seq (submatch (+ (~ space))) |
---|
| 21 | " " |
---|
| 22 | (submatch (+ any))) |
---|
| 23 | (read-line in)))) |
---|
| 24 | (say (string-trim (irregex-match-substring match 2)) |
---|
| 25 | (irregex-match-substring match 1))) |
---|
[18259] | 26 | (close-input-port in) |
---|
| 27 | (close-output-port out))) |
---|
| 28 | (loop))))))))) |
---|
Note: See
TracBrowser
for help on using the repository browser.