Network related Libraries

Network REPL

Network repl for debugging live programs.

usage

(import :std/net/repl)

start-repl-server!

usage

(start-repl-server! password: (passwd #f)
                    address: (address "127.0.0.1:7000"))
=> <server>

Starts a network REPL server.

stop-repl-server!

usage

(stop-repl-server! <server>)

Stops a REPL server

taint!

usage

REPL> (std/net/repl#taint! [tgroup])
  tgroup := thread-group; defaults to the primordial thread-group
=> <state>

Taints a thread-group, redirecting its repl ports to the repl server ports. This is necessary to visit threads in the debugger. Returns the thread-group specific state.

untaint!

usage

REPL> (std/net/repl#untaint! [tgroup [state]])
  tgroup := thread-group; defaults to the primordial thread-group
  state := any; defaults to #f

Untaints a thread-group, restoring its spcific state.

Loading the Expander

By default, once connected, the REPL does not load the Gerbil expander but uses the primitive Gambit eval. This allows the REPL to be embedded to static binaries without the requirement to embed the expander.

You can load the expander on demand in dynamically linked executables:

REPL> (_gx#load-expander!)

URIs [RFC3986]

usage

(import :std/net/uri)

uri-encode

usage

(uri-encode ...)

Please document me!

uri-decode

usage

(uri-decode ...)

Please document me!

form-url-encode

usage

(form-url-encode ...)

Please document me!

form-url-decode

usage

(form-url-decode ...)

Please document me!

Internet Addresses

Internet addresses as host-port pairs.

usage

(import :std/net/address)

ip4-address?

usage

(ip4-address? ...)

Please document me!

ip4-address

usage

(ip4-address ...)

Please document me!

ip4-address-string?

usage

(ip4-address-string? ...)

Please document me!

ip4-address->string

usage

(ip4-address->string ...)

Please document me!

string->ip4-address

usage

(string->ip4-address ...)

Please document me!

ip6-address?

usage

(ip6-address? ...)

Please document me!

ip6-address

usage

(ip6-address ...)

Please document me!

ip6-address-string?

usage

(ip6-address-string? ...)

Please document me!

ip6-address->string

usage

(ip6-address->string ...)

Please document me!

string->ip6-address

usage

(string->ip6-address ...)

Please document me!

inet-address?

usage

(inet-address? ...)

Please document me!

inet-address

usage

(inet-address ...)

Please document me!

inet-address-string?

usage

(inet-address-string? ...)

Please document me!

inet-address->string

usage

(inet-address->string ...)

Please document me!

string->inet-address

usage

(string->inet-address ...)

Please document me!

resolve-address

usage

(resolve-address ...)

Please document me!

resolved-address?

usage

(resolved-address? ...)

Please document me!

Binary I/O Buffers

Low level (unsafe) interface for buffered i/o over raw devices and things.

usage

(import :std/net/bio)

input-buffer?

usage

(input-buffer? ...)

Please document me!

bio-read-u8

usage

(bio-read-u8 ...)

Please document me!

bio-peek-u8

usage

(bio-peek-u8 ...)

Please document me!

bio-read-subu8vector

usage

(bio-read-subu8vector ...)

Please document me!

bio-read-subu8vector*

usage

(bio-read-subu8vector* ...)

Please document me!

bio-read-subu8vector-unbuffered

usage

(bio-read-subu8vector-unbuffered ...)

Please document me!

bio-read-bytes

usage

(bio-read-bytes ...)

Please document me!

bio-read-bytes-unbuffered

usage

(bio-read-bytes-unbuffered ...)

Please document me!

bio-read-u32

usage

(bio-read-u32 ...)

Please document me!

bio-read-s32

usage

(bio-read-s32 ...)

Please document me!

bio-read-u16

usage

(bio-read-u16 ...)

Please document me!

bio-read-s16

usage

(bio-read-s16 ...)

Please document me!

bio-read-char

usage

(bio-read-char ...)

Please document me!

bio-read-substring

usage

(bio-read-substring ...)

Please document me!

bio-read-string

usage

(bio-read-string ...)

Please document me!

bio-read-line

usage

(bio-read-line ...)

Please document me!

bio-input-utf8-decode

usage

(bio-input-utf8-decode ...)

Please document me!

bio-input-skip

usage

(bio-input-skip ...)

Please document me!

bio-input-count

usage

(bio-input-count ...)

Please document me!

output-buffer?

usage

(output-buffer? ...)

Please document me!

bio-write-u8

usage

(bio-write-u8 ...)

Please document me!

bio-write-subu8vector

usage

(bio-write-subu8vector ...)

Please document me!

bio-write-subu8vector-unbuffered

usage

(bio-write-subu8vector-unbuffered ...)

Please document me!

bio-write-bytes

usage

(bio-write-bytes ...)

Please document me!

bio-write-bytes-unbuffered

usage

(bio-write-bytes-unbuffered ...)

Please document me!

bio-write-u32

usage

(bio-write-u32 ...)

Please document me!

bio-write-s32

usage

(bio-write-s32 ...)

Please document me!

bio-write-u16

usage

(bio-write-u16 ...)

Please document me!

bio-write-s16

usage

(bio-write-s16 ...)

Please document me!

bio-write-char

usage

(bio-write-char ...)

Please document me!

bio-write-substring

usage

(bio-write-substring ...)

Please document me!

bio-write-string

usage

(bio-write-string ...)

Please document me!

bio-force-output

usage

(bio-force-output ...)

Please document me!

open-input-buffer

usage

(open-input-buffer ...)

Please document me!

open-delimited-input-buffer

usage

(open-delimited-input-buffer ...)

Please document me!

delimited-input-buffer?

usage

(delimited-input-buffer? ...)

Please document me!

open-fixed-output-buffer

usage

(open-fixed-output-buffer ...)

Please document me!

make-fixed-output-buffer

usage

(make-fixed-output-buffer ...)

Please document me!

open-chunked-output-buffer

usage

(open-chunked-output-buffer ...)

Please document me!

open-serializer-output-buffer

usage

(open-serializer-output-buffer ...)

Please document me!

chunked-output-buffer?

usage

(chunked-output-buffer? ...)

Please document me!

chunked-output-chunks

usage

(chunked-output-chunks ...)

Please document me!

chunked-output-u8vector

usage

(chunked-output-u8vector ...)

Please document me!

chunked-output-length

usage

(chunked-output-length ...)

Please document me!

SASL authentication

usage

(import :std/net/sasl)

scram-context?

usage

(scram-context? ...)

Please document me!

scram-sha-1-begin

usage

(scram-sha-1-begin ...)

Please document me!

scram-sha-256-begin

usage

(scram-sha-256-begin ...)

Please document me!

scram-client-first-message

usage

(scram-client-first-message ...)

Please document me!

scram-server-first-message!

usage

(scram-server-first-message! ...)

Please document me!

scram-client-final-message

usage

(scram-client-final-message ...)

Please document me!

scram-server-final-message!

usage

(scram-server-final-message! ...)

Please document me!

SOCKS Proxy Client.

usage

(import :std/net/socks)

open-socks5-client

usage

(open-socks5-client ...)

Please document me!

open-socks4-client

usage

(open-socks4-client ...)

Please document me!

socks5-open

usage

(socks5-open ...)

Please document me!

socks5-connect

usage

(socks5-connect ...)

Please document me!

socks5-bind

usage

(socks5-bind ...)

Please document me!

socks5-accept

usage

(socks5-accept ...)

Please document me!

socks4-connect

usage

(socks4-connect ...)

Please document me!

socks4-bind

usage

(socks4-bind ...)

Please document me!

socks4-accept

usage

(socks4-accept ...)

Please document me!

socks5-send-request

usage

(socks5-send-request ...)

Please document me!

socks5-recv-reply

usage

(socks5-recv-reply ...)

Please document me!

socks4-send-request

usage

(socks4-send-request ...)

Please document me!

socks4-recv-reply

usage

(socks4-recv-reply ...)

Please document me!

Websocket Client

usage

(import :std/net/websocket)

open-websocket-client

usage

(open-websocket-client ...)

Please document me!

websocket?

usage

(websocket? ...)

Please document me!

websocket-recv

usage

(websocket-recv ...)

Please document me!

websocket-read

usage

(websocket-read ...)

Please document me!

websocket-send

usage

(websocket-send ...)

Please document me!

websocket-write

usage

(websocket-write ...)

Please document me!

websocket-close

usage

(websocket-close ...)

Please document me!

set-websocket-max-frame-size!

usage

(set-websocket-max-frame-size! ...)

Please document me!

set-websocket-max-message-size!

usage

(set-websocket-max-message-size! ...)

Please document me!

WAMP Client

Web Application Message Protocol client.

usage

(import :std/net/wamp)

start-wamp-client!

usage

(start-wamp-client! ...)

Please document me!

wamp-subscribe

usage

(wamp-subscribe ...)

Please document me!

wamp-call

usage

(wamp-call ...)

Please document me!

wamp-register

usage

(wamp-register ...)

Please document me!

wamp-publish

usage

(wamp-publish ...)

Please document me!

wamp-close

usage

(wamp-close ...)

Please document me!

invocation-error

usage

(invocation-error ...)

Please document me!

raise-invocation-error

usage

(raise-invocation-error ...)

Please document me!

wamp-error?

usage

(wamp-error? ...)

Please document me!

!wamp.event

usage

(!wamp.event ...)

Please document me!

!wamp.shutdown

usage

(!wamp.shutdown ...)

Please document me!