Janet 1.39.1-e9c6678 Documentation
(Other Versions: 1.38.0 1.37.1 1.36.0 1.35.0 1.34.0 1.31.0 1.29.1 1.28.0 1.27.0 1.26.0 1.25.1 1.24.0 1.23.0 1.22.0 1.21.0 1.20.0 1.19.0 1.18.1 1.17.1 1.16.1 1.15.0 1.13.1 1.12.2 1.11.1 1.10.1 1.9.1 1.8.1 1.7.0 1.6.0 1.5.1 1.5.0 1.4.0 1.3.1 )

msg

Provide a symmetric way to send and receive seqential messages over a networked stream. Useful for building more complicated application level protocols on top of TCP.

Examples

(import spork/msg)

(def stream (net/connect "http://example.com" "1234"))

(def send (msg/make-send stream))
(def recv (msg/make-recv stream))

(send "blob1")
(def blob-respose (recv))

Reference

msg/make-proto msg/make-recv msg/make-send


msg/make-proto function source
(make-proto stream &opt pack unpack)

Create both a send an recv function from a stream, as with `make-send` and `make-recv`.

msg/make-recv function source
(make-recv stream &opt unpack)

Get a function that, when invoked, gets the next message from a readable stream. Provide an optional unpack function that will parse the received buffer.

msg/make-send function source
(make-send stream &opt pack)

Create a function that when called with a msgs sends that msg. Provide an optional pack function that will convert a message to a string.