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 specific 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!
open-file-input-buffer
usage
(open-file-input-buffer ...)
Please document me!
open-fd-input-buffer
usage
(open-fd-input-buffer ...)
Please document me!
file-input-buffer?
usage
(file-input-buffer? ...)
Please document me!
close-file-input-buffer
usage
(close-file-input-buffer ...)
Please document me!
open-file-output-buffer
usage
(open-file-output-buffer ...)
Please document me!
open-fd-output-buffer
usage
(open-fd-output-buffer ...)
Please document me!
file-output-buffer?
usage
(file-output-buffer? ...)
Please document me!
close-file-output-buffer
usage
(close-file-output-buffer ...)
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-client-first-server-message!
usage
(scram-client-first-server-message! ...)
Please document me!
scram-client-final-message
usage
(scram-client-final-message ...)
Please document me!
scram-client-final-server-message!
usage
(scram-client-final-server-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!