The clws Reference Manual

This is the clws Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:03:50 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 clws

CLWS implement the WebSocket Protocol as described by
RFC6455[1] (as well as some older drafts implemented by recent browsers [2][3][4][5]). Only a WebSockets server implementation is provided.

[1]http://tools.ietf.org/html/rfc6455
[2] http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-17 [3] http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-08 [4] http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-07 [5] http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-00

Dependencies
  • sb-concurrency (system).
  • iolib (system).
  • ironclad (system).
  • chunga (system).
  • cl-base64 (system).
  • flexi-streams (system).
  • split-sequence (system).
Source

clws.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 clws/clws.asd

Source

clws.asd.

Parent Component

clws (system).

ASDF Systems

clws.

Packages

clws-system.


3.1.2 clws/package.lisp

Source

clws.asd.

Parent Component

clws (system).

Packages

clws.


3.1.3 clws/sb-concurrency-patch.lisp

Dependency

package.lisp (file).

Source

clws.asd.

Parent Component

clws (system).


3.1.4 clws/concurrency-sbcl.lisp

Dependency

sb-concurrency-patch.lisp (file).

Source

clws.asd.

Parent Component

clws (system).

Internals

3.1.5 clws/util.lisp

Dependency

concurrency-sbcl.lisp (file).

Source

clws.asd.

Parent Component

clws (system).

Internals

3.1.6 clws/config.lisp

Dependency

util.lisp (file).

Source

clws.asd.

Parent Component

clws (system).

Public Interface
Internals

3.1.7 clws/buffer.lisp

Dependency

config.lisp (file).

Source

clws.asd.

Parent Component

clws (system).

Internals

3.1.8 clws/protocol-common.lisp

Dependency

buffer.lisp (file).

Source

clws.asd.

Parent Component

clws (system).

Internals

3.1.9 clws/protocol-00.lisp

Dependency

protocol-common.lisp (file).

Source

clws.asd.

Parent Component

clws (system).

Internals

3.1.10 clws/protocol-7.lisp

Dependency

protocol-00.lisp (file).

Source

clws.asd.

Parent Component

clws (system).

Internals

3.1.11 clws/protocol.lisp

Dependency

protocol-7.lisp (file).

Source

clws.asd.

Parent Component

clws (system).

Public Interface
Internals

3.1.12 clws/client.lisp

Dependency

protocol.lisp (file).

Source

clws.asd.

Parent Component

clws (system).

Public Interface
Internals

3.1.13 clws/resource.lisp

Dependency

client.lisp (file).

Source

clws.asd.

Parent Component

clws (system).

Public Interface
Internals

3.1.14 clws/server.lisp

Dependency

resource.lisp (file).

Source

clws.asd.

Parent Component

clws (system).

Public Interface

run-server (function).

Internals

4 Packages

Packages are listed by definition order.


4.1 clws

Source

package.lisp.

Nickname

ws

Use List
  • common-lisp.
  • iolib.
Public Interface
Internals

4.2 clws-system

Source

clws.asd.

Use List
  • asdf/interface.
  • common-lisp.

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *debug-on-resource-errors*

set to T to enter debugger on resource-handler errors, NIL to drop the connections and try to send a disconnect to handler.

Package

clws.

Source

config.lisp.

Special Variable: *debug-on-server-errors*

set to T to enter debugger on server errors, NIL to just drop the connections.

Package

clws.

Source

config.lisp.

Special Variable: *log-level*

set to NIL to disable log messages, T to enable

Package

clws.

Source

config.lisp.

Special Variable: *max-clients*

Max number of simultaneous clients allowed (nil for no limit).
Extra connections will get a HTTP 5xx response (without reading headers).

Package

clws.

Source

config.lisp.

Special Variable: *max-read-frame-size*

Max size of frames allowed. Connection will be dropped if client sends a larger frame.

Package

clws.

Source

config.lisp.

Special Variable: *protocol-76/00-support*

set to NIL to disable draft-hixie-76/draft-ietf-00 support, true to enable.

Package

clws.

Source

config.lisp.


5.1.2 Ordinary functions

Function: any-origin (o)
Package

clws.

Source

resource.lisp.

Function: find-global-resource (name)

Returns the resource registered via REGISTER-GLOBAL-RESOURCE with name NAME.

Package

clws.

Source

resource.lisp.

Function: kill-resource-listener (resource)

Terminates a RUN-RESOURCE-LISTENER from another thread.

Package

clws.

Source

resource.lisp.

Function: origin-exact (&rest origins)

Returns a function that checks whether a given path matches any of the origins passed as arguments exactly.

Package

clws.

Source

resource.lisp.

Function: origin-prefix (&rest prefixes)

Returns a function that checks whether a given path matches any of the prefixes passed as arguments.

Package

clws.

Source

resource.lisp.

Function: register-global-resource (name resource-handler origin-validation-fn)

Registers a resource instance where NAME is a path string like ’/swank’, resource-handler is an instance of WS-RESOURCE, and ORIGIN-VALIDATION-FN is a function that takes an origin string as input and returns T if that origin is allowed to access this resource.

Package

clws.

Source

resource.lisp.

Function: run-resource-listener (resource)

Runs a resource listener in its own thread indefinitely, calling RESOURCE-CLIENT-DISCONNECTED and RESOURCE-RECEIVED-FRAME as appropriate.

Package

clws.

Source

resource.lisp.

Function: run-server (port &key addr)

Starts a server on the given PORT and blocks until the server is closed. Intended to run in a dedicated thread (the current one), dubbed the Server Thread.

Establishes a socket listener in the current thread. This thread handles all incoming connections, and because of this fact is able to handle far more concurrent connections than it would be able to if it spawned off a new thread for each connection. As such, most of the processing is done on the Server Thread, though most user functions are thread-safe.

Package

clws.

Source

server.lisp.

Function: unregister-global-resource (name)

Removes the resource registered via REGISTER-GLOBAL-RESOURCE with name NAME.

Package

clws.

Source

resource.lisp.

Function: write-to-client-binary (client message &key frame-size)

writes a binary message to client. MESSAGE should either be an octet vector containing data to be sent. If FRAME-SIZE is set, breaks message into frames no larger than FRAME-SIZE octets.

Package

clws.

Source

protocol.lisp.

Function: write-to-client-close (client &key code message)

Write a close message to client, and starts closing connection. If set, CODE must be a valid close code for current protocol version, and MESSAGE should be a string that encodes to fewer than 123 octets as UTF8 (it will be ignored otherwise)

Package

clws.

Source

protocol.lisp.

Function: write-to-client-text (client message &key frame-size)

writes a text message to client. MESSAGE should either be a string, or an octet vector containing a UTF-8 encoded string. If FRAME-SIZE is set, breaks message into frames no larger than FRAME-SIZE octets.

Package

clws.

Source

protocol.lisp.

Function: write-to-clients-binary (clients message &key frame-size)

Like WRITE-TO-CLIENT-BINARY but sends the message to all of the CLIENTS. Should be faster than separate calls due to only needing to encode and build frames once.

Package

clws.

Source

client.lisp.

Function: write-to-clients-text (clients message &key frame-size)

Like WRITE-TO-CLIENT-TEXT but sends the message to all of the clients. Should be faster than separate calls due to only needing to encode and build frames once.

Package

clws.

Source

client.lisp.


5.1.3 Generic functions

Generic Function: call-on-resource-thread (resource fn)

Funcalls FN on the resource thread of RESOURCE.

Package

clws.

Source

resource.lisp.

Methods
Method: call-on-resource-thread (resource fn)
Generic Reader: client-connection-headers (object)
Package

clws.

Methods
Reader Method: client-connection-headers ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

connection-headers.

Generic Writer: (setf client-connection-headers) (object)
Package

clws.

Methods
Writer Method: (setf client-connection-headers) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

connection-headers.

Generic Reader: client-connection-rejected (object)
Package

clws.

Methods
Reader Method: client-connection-rejected ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

connection-rejected.

Generic Writer: (setf client-connection-rejected) (object)
Package

clws.

Methods
Writer Method: (setf client-connection-rejected) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

connection-rejected.

Generic Reader: client-host (object)
Package

clws.

Methods
Reader Method: client-host ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

host.

Generic Reader: client-port (object)
Package

clws.

Methods
Reader Method: client-port ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

port.

Generic Reader: client-query-string (object)
Package

clws.

Methods
Reader Method: client-query-string ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

query-string.

Generic Writer: (setf client-query-string) (object)
Package

clws.

Methods
Writer Method: (setf client-query-string) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

query-string.

Generic Reader: client-resource-name (object)
Package

clws.

Methods
Reader Method: client-resource-name ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

resource-name.

Generic Writer: (setf client-resource-name) (object)
Package

clws.

Methods
Writer Method: (setf client-resource-name) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

resource-name.

Generic Reader: client-websocket-version (object)
Package

clws.

Methods
Reader Method: client-websocket-version ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

websocket-version.

Generic Writer: (setf client-websocket-version) (object)
Package

clws.

Methods
Writer Method: (setf client-websocket-version) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

websocket-version.

Generic Function: resource-accept-connection (res resource-name headers client)

Decides whether to accept a connection and returns
values to process the connection further. Defaults to accepting all connections and using the default mailbox and origin, so most resources shouldn’t need to define a method.

Passed values
- RES is the instance of ws-resource
- RESOURCE-NAME is the resource name requested by the client (string) - HEADERS is the hash table of headers from the client
- client is the instance of client

Returns values
1. NIL if the connection should be rejected, or non-nil otherwise 2. Concurrent mailbox in which to place messages received from the client, or NIL for default
3. origin from which to claim this resource is responding, or NIL for default.
4. handshake-resource or NIL for default
5. protocol or NIL for default

Most of the time this function will just return true for the first value to accept the connection, and nil for the other values.

Note that the connection is not fully established yet, so this function should not try to send anything to the client, see resource-client-connected for that.

This function may be called from a different thread than most resource functions, so methods should be careful about accessing shared data, and should avoid blocking for extended periods.

Package

clws.

Source

resource.lisp.

Methods
Method: resource-accept-connection (res resource-name headers client)
Generic Function: resource-client-connected (resource client)

Called when a client finishes connecting to a
WebSockets resource, and data can be sent to the client.

Methods can return :reject to immediately close the connection and ignore any already received data from this client.

Package

clws.

Source

resource.lisp.

Methods
Method: resource-client-connected (res client)
Generic Function: resource-client-disconnected (resource client)

Called when a client disconnected from a WebSockets resource.

Package

clws.

Source

resource.lisp.

Generic Function: resource-received-binary (resource client message)

Called when a client sent a binary message to a WebSockets resource.

Package

clws.

Source

resource.lisp.

Generic Function: resource-received-text (resource client message)

Called when a client sent a text message to a WebSockets resource.

Package

clws.

Source

resource.lisp.

Generic Function: send-custom-message-to-resource (resource message)

Thread-safe way to pass a message to the resource
listener. Any message passed with this function will result in RESOURCE-RECEIVED-CUSTOM-MESSAGE being called on the resource thread with the second argument of this function.

Package

clws.

Source

resource.lisp.

Methods
Method: send-custom-message-to-resource (resource message)

5.1.4 Classes

Class: ws-resource

A server may have many resources, each associated
with a particular resource path (like /echo or /chat). An single instance of a resource handles all requests on the server for that particular url, with the help of RUN-RESOURCE-LISTENER, RESOURCE-RECEIVED-FRAME, and RESOURCE-CLIENT-DISCONNECTED.

Package

clws.

Source

resource.lisp.

Direct methods

resource-read-queue.

Direct slots
Slot: read-queue
Initform

(clws::make-mailbox)

Readers

resource-read-queue.

Writers

This slot is read-only.


5.2 Internals


5.2.1 Special variables

Special Variable: *400-message*
Package

clws.

Source

config.lisp.

Special Variable: *403-message*
Package

clws.

Source

config.lisp.

Special Variable: *404-message*
Package

clws.

Source

config.lisp.

Special Variable: *close-frame*
Package

clws.

Source

client.lisp.

Special Variable: *draft-76/00-close-frame*
Package

clws.

Source

protocol-00.lisp.

Special Variable: *max-handler-read-backlog*

Max number of frames that can be queued before the reader will start throttling reads for clients using that queue (for now, just drops the connections...).

Package

clws.

Source

config.lisp.

Special Variable: *max-header-size*

Default max header size in octets (not used yet?)

Package

clws.

Source

config.lisp.

Special Variable: *max-read-message-size*

Largest (incomplete) message allowed. Connection will be dropped if client sends a larger message. Malicious clients can cause lower amounts to be buffered indefinitely though, so be careful with large settings.

Package

clws.

Source

config.lisp.

Special Variable: *max-write-backlog*

Max number of queued write frames before dropping a client.

Package

clws.

Source

client.lisp.

Special Variable: *policy-file*

cross-domain policy file, used for the Flash WebSocket emulator.

Package

clws.

Source

config.lisp.

Special Variable: *policy-file-request*
Package

clws.

Source

protocol.lisp.

Special Variable: *protocol-header-parsers*
Package

clws.

Source

protocol-common.lisp.

Special Variable: *resources*

hash mapping resource name to (list of handler instance, origin validation function, ?)

Package

clws.

Source

resource.lisp.

Special Variable: *server-busy-message*
Package

clws.

Source

server.lisp.

Special Variable: *supported-protocol-versions*
Package

clws.

Source

protocol-common.lisp.


5.2.2 Macros

Macro: make-array-ubyte8 (size &key initial-element initial-contents)
Package

clws.

Source

util.lisp.

Macro: with-buffer-as-stream ((buffer stream) &body body)
Package

clws.

Source

buffer.lisp.


5.2.3 Ordinary functions

Function: %client-enqueue-write-or-kill (frame client)
Package

clws.

Source

client.lisp.

Function: %write-to-client (client octets-or-keyword)

Writes given data to specified client, where OCTETS-OR-KEYWORD is either an octet-vector, or :CLOSE, or a list (:CLOSE CLOSE-OCTETS), where CLOSE-OCTETS is an octet vector to send for close frame. If no close frame is provided, a default close frame will be sent.

Package

clws.

Source

client.lisp.

Function: add-reader-to-client (client &key init-function)
Package

clws.

Source

buffer.lisp.

Function: binary-message-for-protocol (protocol message &key frame-size)
Package

clws.

Source

protocol.lisp.

Function: build-frames (opcode octets frame-size)
Package

clws.

Source

protocol.lisp.

Function: call-with-buffer-as-stream (buffer thunk)
Package

clws.

Source

buffer.lisp.

Function: client-dequeue-read (client)

Non-blocking call to dequeue a piece of data from a client’ read-queue.

Package

clws.

Source

client.lisp.

Function: client-dequeue-write (client)

Non-blocking call to dequeue a piece of data in the write-queue to be sent to the client.

Package

clws.

Source

client.lisp.

Function: client-enqueue-read (client data)

Adds a piece of data to the client’s read-queue so that it may be read and processed.

Package

clws.

Source

client.lisp.

Function: client-enqueue-write (client data)

Adds data to the client’s write-queue and asynchronously send it to the client.

Package

clws.

Source

client.lisp.

Function: close-frame-for-protocol (protocol &key code message)
Package

clws.

Source

protocol.lisp.

Function: dequeue (queue)

Retrieves the oldest value in QUEUE and returns it as the primary value, and T as secondary value. If the queue is empty, returns NIL as both primary and secondary value.

Package

clws.

Source

concurrency-sbcl.lisp.

Function: disconnect-client (client)
Package

clws.

Source

resource.lisp.

Function: dispatch-control-message (client opcode)
Package

clws.

Source

protocol-7.lisp.

Function: dispatch-frame (client length)
Package

clws.

Source

protocol-7.lisp.

Function: dispatch-message (client)
Package

clws.

Source

protocol-7.lisp.

Function: dispatch-protocols (client)
Package

clws.

Source

protocol.lisp.

Function: enqueue (value queue)

Adds VALUE to the end of QUEUE. Returns VALUE.

Package

clws.

Source

concurrency-sbcl.lisp.

Function: extract-key (k)
Package

clws.

Source

protocol-00.lisp.

Function: get-utf8-string-or-fail (chunk-buffer &key skip-octets-end)
Package

clws.

Source

protocol-common.lisp.

Function: ignore-remaining-input (client)
Package

clws.

Source

protocol.lisp.

Function: invalid-header (client)
Package

clws.

Source

protocol.lisp.

Function: lg (&rest args)
Package

clws.

Source

util.lisp.

Function: mailbox-count (mailbox)

The non-blocking variant of RECEIVE-MESSAGE. Returns two values, the message removed from MAILBOX, and a flag specifying whether a message could be received.

Package

clws.

Source

concurrency-sbcl.lisp.

Function: mailbox-empty-p (mailbox)

Returns true if MAILBOX is currently empty, NIL otherwise.

Package

clws.

Source

concurrency-sbcl.lisp.

Function: mailbox-list-messages (mailbox)

Returns a fresh list containing all the messages in the mailbox. Does not remove messages from the mailbox.

Package

clws.

Source

concurrency-sbcl.lisp.

Function: mailbox-receive-message (mailbox &key)

Removes the oldest message from MAILBOX and returns it as the primary value. If MAILBOX is empty waits until a message arrives.

Package

clws.

Source

concurrency-sbcl.lisp.

Function: mailbox-receive-message-no-hang (mailbox)

The non-blocking variant of RECEIVE-MESSAGE. Returns two values, the message removed from MAILBOX, and a flag specifying whether a message could be received.

Package

clws.

Source

concurrency-sbcl.lisp.

Function: mailbox-receive-pending-messages (mailbox &optional n)

Removes and returns all (or at most N) currently pending messages from MAILBOX, or returns NIL if no messages are pending.

Note: Concurrent threads may be snarfing messages during the run of this function, so even though X,Y appear right next to each other in the result, does not necessarily mean that Y was the message sent right after X.

Package

clws.

Source

concurrency-sbcl.lisp.

Function: mailbox-send-message (mailbox message)

Adds a MESSAGE to MAILBOX. Message can be any object.

Package

clws.

Source

concurrency-sbcl.lisp.

Function: mailboxp (mailbox)

Returns true if MAILBOX is currently empty, NIL otherwise.

Package

clws.

Source

concurrency-sbcl.lisp.

Function: make-challenge-00 (k1 k2 k3)
Package

clws.

Source

protocol-00.lisp.

Function: make-challenge-o7 (k)

Compute the WebSocket opening handshake challenge, according to:

http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-07#section-1.3

Test this with the example provided in the above document:

(string= (clws::make-challenge-o7 "dGhlIHNhbXBsZSBub25jZQ==") "s3pPLMBiTxaQ9kYGzzhZRbK+xOo=")

..which must return T.

Package

clws.

Source

protocol-7.lisp.

Function: make-domain-policy (&key from to-port)

Generates a very basic cross-domain policy file, used for the WebSocket emulation via Flash.

For more information on what that is, see http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html

Package

clws.

Source

util.lisp.

Function: make-frame-from-string (string)

Given a string, returns bytes that can be transmitted to the client as a WebSockets frame.

Package

clws.

Source

client.lisp.

Function: make-handshake-76 (origin location protocol)
Package

clws.

Source

protocol-00.lisp.

Function: make-listener-handler (server socket server-hook)
Package

clws.

Source

server.lisp.

Function: make-mailbox (&key name initial-contents)

Returns a new MAILBOX with messages in INITIAL-CONTENTS enqueued.

Package

clws.

Source

concurrency-sbcl.lisp.

Function: make-queue (&key name initial-contents)

Returns a new QUEUE with NAME and contents of the INITIAL-CONTENTS sequence enqueued.

Package

clws.

Source

concurrency-sbcl.lisp.

Function: match-headers (client)
Package

clws.

Source

protocol.lisp.

Function: match-policy-file (buffer)
Package

clws.

Source

protocol.lisp.

Function: match-resource-line (buffer)
Package

clws.

Source

protocol.lisp.

Function: maybe-policy-file (buffer)
Package

clws.

Source

protocol.lisp.

Function: next-reader-state (buffer predicate callback)
Package

clws.

Source

buffer.lisp.

Function: octet-count-matcher (n)
Package

clws.

Source

protocol.lisp.

Function: octet-pattern-matcher (octets &optional max-octets)
Package

clws.

Source

protocol.lisp.

Function: pong-frame-for-protocol (protocol body)
Package

clws.

Source

protocol.lisp.

Function: protocol-13-parse-headers (client)
Package

clws.

Source

protocol-7.lisp.

Function: protocol-7+-extended-length (client octets masked)
Package

clws.

Source

protocol-7.lisp.

Function: protocol-7+-handshake (client version-string origin-key)
Package

clws.

Source

protocol-7.lisp.

Function: protocol-7+-read-frame (client length mask)
Package

clws.

Source

protocol-7.lisp.

Function: protocol-7+-read-mask (client length)
Package

clws.

Source

protocol-7.lisp.

Function: protocol-7+-start-frame (client)
Package

clws.

Source

protocol-7.lisp.

Function: protocol-7-parse-headers (client)
Package

clws.

Source

protocol-7.lisp.

Function: protocol-76/00-frame-start (client)
Package

clws.

Source

protocol-00.lisp.

Function: protocol-76/00-nonce (client)
Package

clws.

Source

protocol-00.lisp.

Function: protocol-76/00-read-binary-frame (client)
Package

clws.

Source

protocol-00.lisp.

Function: protocol-76/00-read-text-frame (client)
Package

clws.

Source

protocol-00.lisp.

Function: protocol-8-parse-headers (client)
Package

clws.

Source

protocol-7.lisp.

Function: send-error-and-close (client message)
Package

clws.

Source

protocol.lisp.

Function: special-client-write-value-p (value)

Certain values, like :close and :enable-read, are special symbols that may be passed to WRITE-TO-CLIENT or otherwise enqueued on the client’s write queue. This predicate returns T if value is one of those special values

Package

clws.

Source

client.lisp.

Function: string-to-shareable-octets (string &key encoding start end use-bom errorp)
Package

clws.

Source

util.lisp.

Function: text-message-for-protocol (protocol message &key frame-size)
Package

clws.

Source

protocol.lisp.

Function: try-write-client (client)

Should only be called on the server thread,
attempts to flush some of the data in the write-queue in a non-blocking fashion.

Package

clws.

Source

client.lisp.

Function: unsupported-protocol-version (client)
Package

clws.

Source

protocol.lisp.

Function: valid-resource-p (server resource)

Returns non-nil if there is a handler registered for the resource of the given name (a string).

Package

clws.

Source

resource.lisp.


5.2.4 Generic functions

Generic Reader: %client-host (object)
Package

clws.

Methods
Reader Method: %client-host ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

%host.

Generic Reader: %client-server-hook (object)
Package

clws.

Methods
Reader Method: %client-server-hook ((client client))

Function to call to send a command to
the network thread from other threads

Source

client.lisp.

Target Slot

server-hook.

Generic Function: %get-chunks (cb)
Package

clws.

Methods
Method: %get-chunks ((b buffered-reader))
Source

buffer.lisp.

Method: %get-chunks ((cb chunk-buffer))
Source

buffer.lisp.

Generic Function: add-chunk (cb vector start end)
Package

clws.

Methods
Method: add-chunk ((cb chunk-buffer) vector start end)
Source

buffer.lisp.

Generic Function: add-chunks (cb more)
Package

clws.

Methods
Method: add-chunks ((cb chunk-buffer) (more chunk-buffer))
Source

buffer.lisp.

Generic Function: buffer-count (buffer)
Package

clws.

Methods
Method: buffer-count ((buffer buffer-chunk))
Source

buffer.lisp.

Generic Reader: buffer-end (object)
Package

clws.

Methods
Reader Method: buffer-end ((buffer-chunk buffer-chunk))

automatically generated reader method

Source

buffer.lisp.

Target Slot

end.

Generic Reader: buffer-size (object)
Package

clws.

Methods
Reader Method: buffer-size ((chunk-buffer chunk-buffer))

automatically generated reader method

Source

buffer.lisp.

Target Slot

buffer-size.

Generic Writer: (setf buffer-size) (object)
Package

clws.

Methods
Writer Method: (setf buffer-size) ((chunk-buffer chunk-buffer))

automatically generated writer method

Source

buffer.lisp.

Target Slot

buffer-size.

Generic Reader: buffer-start (object)
Package

clws.

Methods
Reader Method: buffer-start ((buffer-chunk buffer-chunk))

automatically generated reader method

Source

buffer.lisp.

Target Slot

start.

Generic Reader: buffer-vector (object)
Package

clws.

Methods
Reader Method: buffer-vector ((buffer-chunk buffer-chunk))

automatically generated reader method

Source

buffer.lisp.

Target Slot

vector.

Generic Reader: callback (object)
Package

clws.

Methods
Reader Method: callback ((buffered-reader buffered-reader))

automatically generated reader method

Source

buffer.lisp.

Target Slot

callback.

Generic Writer: (setf callback) (object)
Package

clws.

Methods
Writer Method: (setf callback) ((buffered-reader buffered-reader))

automatically generated writer method

Source

buffer.lisp.

Target Slot

callback.

Generic Reader: chunks (object)
Package

clws.

Methods
Reader Method: chunks ((buffered-reader buffered-reader))

automatically generated reader method

Source

buffer.lisp.

Target Slot

chunks.

Reader Method: chunks ((chunk-buffer chunk-buffer))

automatically generated reader method

Source

buffer.lisp.

Target Slot

chunks.

Generic Writer: (setf chunks) (object)
Package

clws.

Methods
Writer Method: (setf chunks) ((buffered-reader buffered-reader))

automatically generated writer method

Source

buffer.lisp.

Target Slot

chunks.

Writer Method: (setf chunks) ((chunk-buffer chunk-buffer))

automatically generated writer method

Source

buffer.lisp.

Target Slot

chunks.

Generic Reader: client-connection-state (object)
Generic Writer: (setf client-connection-state) (object)
Package

clws.

Methods
Reader Method: client-connection-state ((client client))
Writer Method: (setf client-connection-state) ((client client))

State of connection:
:connecting when initially created
:headers while reading headers,
:connected after server handshake sent
:failed after an error has occurred and further input/output will be ignored :closing when close has been sent but not received from peer (input is still valid, but no more output will be sent)

Source

client.lisp.

Target Slot

connection-state.

Generic Function: client-disable-handler (client &key read write error)

Stop listening for READ, WRITE, or ERROR events on the socket for the given client object.

Package

clws.

Source

client.lisp.

Methods
Method: client-disable-handler ((client client) &key read write error)
Generic Function: client-disconnect (client &key read write close abort)

Shutdown 1 or both sides of a connection, close it if both sides shutdown

Package

clws.

Source

client.lisp.

Methods
Method: client-disconnect ((client client) &key read write close abort)

shutdown 1 or both sides of a connection, close it if both sides shutdown

Generic Function: client-enable-handler (client &key read write error)

Enables the read, write, or error handler for a a
client. Once a read handler is set up, the client can handle the handshake coming in from the client.

Package

clws.

Source

client.lisp.

Methods
Method: client-enable-handler ((client client) &key read write error)
Generic Function: client-error-active (client)
Package

clws.

Methods
Method: client-error-active ((client client))
Source

client.lisp.

Generic Reader: client-handler-data (object)
Generic Writer: (setf client-handler-data) (object)
Package

clws.

Methods
Reader Method: client-handler-data ((client client))
Writer Method: (setf client-handler-data) ((client client))

Space for handler to store connection specific data.

Source

client.lisp.

Target Slot

handler-data.

Generic Reader: client-read-closed (object)
Generic Writer: (setf client-read-closed) (object)
Package

clws.

Methods
Reader Method: client-read-closed ((client client))
Writer Method: (setf client-read-closed) ((client client))

Flag indicates read side of the connection is closed

Source

client.lisp.

Target Slot

read-closed.

Generic Reader: client-read-queue (object)
Generic Writer: (setf client-read-queue) (object)
Package

clws.

Methods
Reader Method: client-read-queue ((client client))
Writer Method: (setf client-read-queue) ((client client))

queue of decoded lines/frames

Source

client.lisp.

Target Slot

read-queue.

Generic Reader: client-reader (object)
Generic Writer: (setf client-reader) (object)
Package

clws.

Methods
Reader Method: client-reader ((client client))
Writer Method: (setf client-reader) ((client client))

Read handler for this queue/socket

Source

client.lisp.

Target Slot

reader.

Generic Function: client-reader-active (client)
Package

clws.

Methods
Method: client-reader-active ((client client))
Source

client.lisp.

Generic Reader: client-resource (object)
Generic Writer: (setf client-resource) (object)
Package

clws.

Methods
Reader Method: client-resource ((client client))
Writer Method: (setf client-resource) ((client client))

The resource object the client has
requested– Not the string, but the object.

Source

client.lisp.

Target Slot

resource.

Generic Reader: client-server (object)
Package

clws.

Methods
Reader Method: client-server ((client client))

The instance of WS:SERVER that owns this client.

Source

client.lisp.

Target Slot

server.

Generic Reader: client-socket (object)
Package

clws.

Methods
Reader Method: client-socket ((client client))

Bidirectional socket stream used for communicating with the client.

Source

client.lisp.

Target Slot

socket.

Generic Reader: client-socket-closed (object)
Generic Writer: (setf client-socket-closed) (object)
Package

clws.

Methods
Reader Method: client-socket-closed ((client client))
Writer Method: (setf client-socket-closed) ((client client))

Flag indicates connection is closed

Source

client.lisp.

Target Slot

closed.

Generic Reader: client-write-buffer (object)
Generic Writer: (setf client-write-buffer) (object)
Package

clws.

Methods
Reader Method: client-write-buffer ((client client))
Writer Method: (setf client-write-buffer) ((client client))

Buffer being written currently, if
last write couldn’t send whole thing

Source

client.lisp.

Target Slot

write-buffer.

Generic Reader: client-write-closed (object)
Generic Writer: (setf client-write-closed) (object)
Package

clws.

Methods
Reader Method: client-write-closed ((client client))
Writer Method: (setf client-write-closed) ((client client))

Flag indicates write side of the connection is closed

Source

client.lisp.

Target Slot

write-closed.

Generic Reader: client-write-offset (object)
Generic Writer: (setf client-write-offset) (object)
Package

clws.

Methods
Reader Method: client-write-offset ((client client))
Writer Method: (setf client-write-offset) ((client client))

Offset into write-buffer if write-buffer is set

Source

client.lisp.

Target Slot

write-offset.

Generic Reader: client-write-queue (object)
Package

clws.

Methods
Reader Method: client-write-queue ((client client))

Queue of buffers (octet vectors) to
write, or :close to kill connection :enable-read to reenable reader after being disabled for flow control (mailbox instead of queue since it tracks length).

Source

client.lisp.

Target Slot

write-queue.

Generic Function: client-writer-active (client)
Package

clws.

Methods
Method: client-writer-active ((client client))
Source

client.lisp.

Generic Reader: end-of-chunks (object)
Package

clws.

Methods
Reader Method: end-of-chunks ((chunk-buffer chunk-buffer))

automatically generated reader method

Source

buffer.lisp.

Target Slot

end-of-chunks.

Generic Writer: (setf end-of-chunks) (object)
Package

clws.

Methods
Writer Method: (setf end-of-chunks) ((chunk-buffer chunk-buffer))

automatically generated writer method

Source

buffer.lisp.

Target Slot

end-of-chunks.

Generic Reader: error-callback (object)
Package

clws.

Methods
Reader Method: error-callback ((buffered-reader buffered-reader))

automatically generated reader method

Source

buffer.lisp.

Target Slot

error-callback.

Generic Writer: (setf error-callback) (object)
Package

clws.

Methods
Writer Method: (setf error-callback) ((buffered-reader buffered-reader))

automatically generated writer method

Source

buffer.lisp.

Target Slot

error-callback.

Generic Reader: frame-fin (object)
Package

clws.

Methods
Reader Method: frame-fin ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

frame-fin.

Generic Writer: (setf frame-fin) (object)
Package

clws.

Methods
Writer Method: (setf frame-fin) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

frame-fin.

Generic Reader: frame-length (object)
Package

clws.

Methods
Reader Method: frame-length ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

frame-length.

Generic Writer: (setf frame-length) (object)
Package

clws.

Methods
Writer Method: (setf frame-length) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

frame-length.

Generic Reader: frame-opcode (object)
Package

clws.

Methods
Reader Method: frame-opcode ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

frame-opcode.

Generic Writer: (setf frame-opcode) (object)
Package

clws.

Methods
Writer Method: (setf frame-opcode) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

frame-opcode.

Generic Reader: frame-opcode-octet (object)
Package

clws.

Methods
Reader Method: frame-opcode-octet ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

frame-opcode-octet.

Generic Writer: (setf frame-opcode-octet) (object)
Package

clws.

Methods
Writer Method: (setf frame-opcode-octet) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

frame-opcode-octet.

Generic Function: get-octet-vector (cb)
Package

clws.

Methods
Method: get-octet-vector ((cb chunk-buffer))
Source

buffer.lisp.

Generic Function: get-utf8-string (cb &key errorp octet-end)
Package

clws.

Methods
Method: get-utf8-string ((cb chunk-buffer) &key errorp octet-end)
Source

buffer.lisp.

Generic Function: mask-octets (cb mask)
Package

clws.

Methods
Method: mask-octets ((cb chunk-buffer) mask)
Source

buffer.lisp.

Generic Reader: message-function (object)
Package

clws.

Methods
Reader Method: message-function ((funcall-custom-message funcall-custom-message))

automatically generated reader method

Source

resource.lisp.

Target Slot

function.

Generic Reader: message-opcode (object)
Package

clws.

Methods
Reader Method: message-opcode ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

message-opcode.

Generic Writer: (setf message-opcode) (object)
Package

clws.

Methods
Writer Method: (setf message-opcode) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

message-opcode.

Generic Reader: partial-message (object)
Package

clws.

Methods
Reader Method: partial-message ((client client))

automatically generated reader method

Source

client.lisp.

Target Slot

partial-message.

Generic Writer: (setf partial-message) (object)
Package

clws.

Methods
Writer Method: (setf partial-message) ((client client))

automatically generated writer method

Source

client.lisp.

Target Slot

partial-message.

Generic Reader: partial-vector (object)
Package

clws.

Methods
Reader Method: partial-vector ((buffered-reader buffered-reader))

automatically generated reader method

Source

buffer.lisp.

Target Slot

partial-vector.

Generic Writer: (setf partial-vector) (object)
Package

clws.

Methods
Writer Method: (setf partial-vector) ((buffered-reader buffered-reader))

automatically generated writer method

Source

buffer.lisp.

Target Slot

partial-vector.

Generic Reader: partial-vector-pos (object)
Package

clws.

Methods
Reader Method: partial-vector-pos ((buffered-reader buffered-reader))

automatically generated reader method

Source

buffer.lisp.

Target Slot

partial-vector-pos.

Generic Writer: (setf partial-vector-pos) (object)
Package

clws.

Methods
Writer Method: (setf partial-vector-pos) ((buffered-reader buffered-reader))

automatically generated writer method

Source

buffer.lisp.

Target Slot

partial-vector-pos.

Generic Function: peek-octet (cb)
Package

clws.

Methods
Method: peek-octet ((cb chunk-buffer))
Source

buffer.lisp.

Generic Reader: predicate (object)
Package

clws.

Methods
Reader Method: predicate ((buffered-reader buffered-reader))

automatically generated reader method

Source

buffer.lisp.

Target Slot

predicate.

Generic Writer: (setf predicate) (object)
Package

clws.

Methods
Writer Method: (setf predicate) ((buffered-reader buffered-reader))

automatically generated writer method

Source

buffer.lisp.

Target Slot

predicate.

Generic Function: read-octet (cb)
Package

clws.

Methods
Method: read-octet ((cb chunk-buffer))
Source

buffer.lisp.

Generic Reader: resource-read-queue (resource)

The concurrent mailbox used to pass messages between the server thread and resource thread.

Package

clws.

Source

resource.lisp.

Methods
Reader Method: resource-read-queue ((ws-resource ws-resource))

automatically generated reader method

Target Slot

read-queue.

Generic Function: resource-received-custom-message (resource message)

Called on the resource listener thread when a client is passed an arbitrary message via SEND-CUSTOM-MESSAGE-TO-RESOURCE.

Package

clws.

Source

resource.lisp.

Methods
Method: resource-received-custom-message (resource (message funcall-custom-message))
Generic Function: server-client-count (server)

Returns number the server’s clients.

Package

clws.

Source

server.lisp.

Methods
Method: server-client-count ((server server))
Generic Reader: server-clients (object)
Package

clws.

Methods
Reader Method: server-clients ((server server))

Hash of client objects to them
selves (just used as a set for now).

Source

server.lisp.

Target Slot

clients.

Generic Reader: server-event-base (object)
Package

clws.

Methods
Reader Method: server-event-base ((server server))

automatically generated reader method

Source

server.lisp.

Target Slot

event-base.

Generic Writer: (setf server-event-base) (object)
Package

clws.

Methods
Writer Method: (setf server-event-base) ((server server))

automatically generated writer method

Source

server.lisp.

Target Slot

event-base.

Generic Function: server-list-clients (server)

Returns a list of the server’s clients.

Package

clws.

Source

server.lisp.

Methods
Method: server-list-clients ((server server))
Generic Reader: status-code (condition)
Package

clws.

Methods
Reader Method: status-code ((condition close-from-peer))
Source

buffer.lisp.

Target Slot

code.

Reader Method: status-code ((condition fail-the-websockets-connection))
Source

buffer.lisp.

Target Slot

code.

Generic Reader: status-message (condition)
Package

clws.

Methods
Reader Method: status-message ((condition close-from-peer))
Source

buffer.lisp.

Target Slot

message.

Reader Method: status-message ((condition fail-the-websockets-connection))
Source

buffer.lisp.

Target Slot

message.


5.2.5 Conditions

Condition: close-from-peer
Package

clws.

Source

buffer.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: code
Initform

(quote 1000)

Initargs

:status-code

Readers

status-code.

Writers

This slot is read-only.

Slot: message
Initform

(quote nil)

Initargs

:message

Readers

status-message.

Writers

This slot is read-only.

Condition: fail-the-websockets-connection
Package

clws.

Source

buffer.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: code
Initform

(quote nil)

Initargs

:status-code

Readers

status-code.

Writers

This slot is read-only.

Slot: message
Initform

(quote nil)

Initargs

:message

Readers

status-message.

Writers

This slot is read-only.


5.2.6 Classes

Class: buffer-chunk
Package

clws.

Source

buffer.lisp.

Direct methods
Direct slots
Slot: vector
Package

common-lisp.

Initargs

:vector

Readers

buffer-vector.

Writers

This slot is read-only.

Slot: start
Initargs

:start

Readers

buffer-start.

Writers

This slot is read-only.

Slot: end
Initargs

:end

Readers

buffer-end.

Writers

This slot is read-only.

Class: buffered-reader
Package

clws.

Source

buffer.lisp.

Direct subclasses

client.

Direct methods
Direct slots
Slot: partial-vector
Readers

partial-vector.

Writers

(setf partial-vector).

Slot: partial-vector-pos
Initform

0

Readers

partial-vector-pos.

Writers

(setf partial-vector-pos).

Slot: chunks
Initform

(make-instance (quote clws::chunk-buffer))

Readers

chunks.

Writers

(setf chunks).

Slot: predicate
Initargs

:predicate

Readers

predicate.

Writers

(setf predicate).

Slot: callback
Initargs

:callback

Readers

callback.

Writers

(setf callback).

Slot: error-callback
Initargs

:error-callback

Readers

error-callback.

Writers

(setf error-callback).

Class: chunk-buffer
Package

clws.

Source

buffer.lisp.

Direct methods
Direct slots
Slot: buffer-size
Initform

0

Readers

buffer-size.

Writers

(setf buffer-size).

Slot: chunks
Readers

chunks.

Writers

(setf chunks).

Slot: end-of-chunks
Readers

end-of-chunks.

Writers

(setf end-of-chunks).

Class: client

Per-client data used by a WebSockets server.

Package

clws.

Source

client.lisp.

Direct superclasses

buffered-reader.

Direct methods
Direct slots
Slot: server

The instance of WS:SERVER that owns this client.

Initargs

:server

Readers

client-server.

Writers

This slot is read-only.

Slot: resource

The resource object the client has
requested– Not the string, but the object.

Initargs

:resource

Readers

client-resource.

Writers

(setf client-resource).

Slot: port
Initargs

:port

Readers

client-port.

Writers

This slot is read-only.

Slot: host
Initargs

:host

Readers

client-host.

Writers

This slot is read-only.

Slot: %host
Initargs

:%host

Readers

%client-host.

Writers

This slot is read-only.

Slot: server-hook

Function to call to send a command to
the network thread from other threads

Initargs

:server-hook

Readers

%client-server-hook.

Writers

This slot is read-only.

Slot: socket

Bidirectional socket stream used for communicating with the client.

Package

iolib/sockets.

Initargs

:socket

Readers

client-socket.

Writers

This slot is read-only.

Slot: read-closed

Flag indicates read side of the connection is closed

Readers

client-read-closed.

Writers

(setf client-read-closed).

Slot: write-closed

Flag indicates write side of the connection is closed

Readers

client-write-closed.

Writers

(setf client-write-closed).

Slot: closed

Flag indicates connection is closed

Readers

client-socket-closed.

Writers

(setf client-socket-closed).

Slot: write-buffer

Buffer being written currently, if
last write couldn’t send whole thing

Readers

client-write-buffer.

Writers

(setf client-write-buffer).

Slot: write-offset

Offset into write-buffer if write-buffer is set

Initform

0

Readers

client-write-offset.

Writers

(setf client-write-offset).

Slot: write-queue

Queue of buffers (octet vectors) to
write, or :close to kill connection :enable-read to reenable reader after being disabled for flow control (mailbox instead of queue since it tracks length).

Initform

(clws::make-mailbox)

Readers

client-write-queue.

Writers

This slot is read-only.

Slot: read-queue

queue of decoded lines/frames

Initform

(clws::make-mailbox)

Readers

client-read-queue.

Writers

(setf client-read-queue).

Slot: connection-state

State of connection:
:connecting when initially created
:headers while reading headers,
:connected after server handshake sent
:failed after an error has occurred and further input/output will be ignored :closing when close has been sent but not received from peer (input is still valid, but no more output will be sent)

Initform

:connecting

Readers

client-connection-state.

Writers

(setf client-connection-state).

Slot: reader

Read handler for this queue/socket

Readers

client-reader.

Writers

(setf client-reader).

Slot: handler-data

Space for handler to store connection specific data.

Readers

client-handler-data.

Writers

(setf client-handler-data).

Slot: connection-headers
Readers

client-connection-headers.

Writers

(setf client-connection-headers).

Slot: resource-name
Readers

client-resource-name.

Writers

(setf client-resource-name).

Slot: query-string
Readers

client-query-string.

Writers

(setf client-query-string).

Slot: websocket-version
Readers

client-websocket-version.

Writers

(setf client-websocket-version).

Slot: partial-message
Readers

partial-message.

Writers

(setf partial-message).

Slot: message-opcode
Readers

message-opcode.

Writers

(setf message-opcode).

Slot: frame-opcode-octet
Readers

frame-opcode-octet.

Writers

(setf frame-opcode-octet).

Slot: frame-opcode
Readers

frame-opcode.

Writers

(setf frame-opcode).

Slot: frame-fin
Readers

frame-fin.

Writers

(setf frame-fin).

Slot: frame-length
Readers

frame-length.

Writers

(setf frame-length).

Slot: connection-rejected
Readers

client-connection-rejected.

Writers

(setf client-connection-rejected).

Class: funcall-custom-message

A type of so-called ’custom message’ used to call a function on the main resource thread.

Package

clws.

Source

resource.lisp.

Direct methods
Direct slots
Slot: function
Package

common-lisp.

Initargs

:function

Readers

message-function.

Writers

This slot is read-only.

Class: server

A WebSockets server listens on a socket for
connections and has a bunch of client instances that it controls.

Package

clws.

Source

server.lisp.

Direct methods
Direct slots
Slot: event-base
Package

iolib/multiplex.

Initargs

:event-base

Readers

server-event-base.

Writers

(setf server-event-base).

Slot: clients

Hash of client objects to them
selves (just used as a set for now).

Initform

(make-hash-table)

Readers

server-clients.

Writers

This slot is read-only.


5.2.7 Types

Type: client-write-control-keyword ()
Package

clws.

Source

client.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   I   K   L   M   N   O   P   R   S   T   U   V   W  
Index Entry  Section

%
%client-enqueue-write-or-kill: Private ordinary functions
%client-host: Private generic functions
%client-host: Private generic functions
%client-server-hook: Private generic functions
%client-server-hook: Private generic functions
%get-chunks: Private generic functions
%get-chunks: Private generic functions
%get-chunks: Private generic functions
%write-to-client: Private ordinary functions

(
(setf buffer-size): Private generic functions
(setf buffer-size): Private generic functions
(setf callback): Private generic functions
(setf callback): Private generic functions
(setf chunks): Private generic functions
(setf chunks): Private generic functions
(setf chunks): Private generic functions
(setf client-connection-headers): Public generic functions
(setf client-connection-headers): Public generic functions
(setf client-connection-rejected): Public generic functions
(setf client-connection-rejected): Public generic functions
(setf client-connection-state): Private generic functions
(setf client-connection-state): Private generic functions
(setf client-handler-data): Private generic functions
(setf client-handler-data): Private generic functions
(setf client-query-string): Public generic functions
(setf client-query-string): Public generic functions
(setf client-read-closed): Private generic functions
(setf client-read-closed): Private generic functions
(setf client-read-queue): Private generic functions
(setf client-read-queue): Private generic functions
(setf client-reader): Private generic functions
(setf client-reader): Private generic functions
(setf client-resource): Private generic functions
(setf client-resource): Private generic functions
(setf client-resource-name): Public generic functions
(setf client-resource-name): Public generic functions
(setf client-socket-closed): Private generic functions
(setf client-socket-closed): Private generic functions
(setf client-websocket-version): Public generic functions
(setf client-websocket-version): Public generic functions
(setf client-write-buffer): Private generic functions
(setf client-write-buffer): Private generic functions
(setf client-write-closed): Private generic functions
(setf client-write-closed): Private generic functions
(setf client-write-offset): Private generic functions
(setf client-write-offset): Private generic functions
(setf end-of-chunks): Private generic functions
(setf end-of-chunks): Private generic functions
(setf error-callback): Private generic functions
(setf error-callback): Private generic functions
(setf frame-fin): Private generic functions
(setf frame-fin): Private generic functions
(setf frame-length): Private generic functions
(setf frame-length): Private generic functions
(setf frame-opcode): Private generic functions
(setf frame-opcode): Private generic functions
(setf frame-opcode-octet): Private generic functions
(setf frame-opcode-octet): Private generic functions
(setf message-opcode): Private generic functions
(setf message-opcode): Private generic functions
(setf partial-message): Private generic functions
(setf partial-message): Private generic functions
(setf partial-vector): Private generic functions
(setf partial-vector): Private generic functions
(setf partial-vector-pos): Private generic functions
(setf partial-vector-pos): Private generic functions
(setf predicate): Private generic functions
(setf predicate): Private generic functions
(setf server-event-base): Private generic functions
(setf server-event-base): Private generic functions

A
add-chunk: Private generic functions
add-chunk: Private generic functions
add-chunks: Private generic functions
add-chunks: Private generic functions
add-reader-to-client: Private ordinary functions
any-origin: Public ordinary functions

B
binary-message-for-protocol: Private ordinary functions
buffer-count: Private generic functions
buffer-count: Private generic functions
buffer-end: Private generic functions
buffer-end: Private generic functions
buffer-size: Private generic functions
buffer-size: Private generic functions
buffer-start: Private generic functions
buffer-start: Private generic functions
buffer-vector: Private generic functions
buffer-vector: Private generic functions
build-frames: Private ordinary functions

C
call-on-resource-thread: Public generic functions
call-on-resource-thread: Public generic functions
call-with-buffer-as-stream: Private ordinary functions
callback: Private generic functions
callback: Private generic functions
chunks: Private generic functions
chunks: Private generic functions
chunks: Private generic functions
client-connection-headers: Public generic functions
client-connection-headers: Public generic functions
client-connection-rejected: Public generic functions
client-connection-rejected: Public generic functions
client-connection-state: Private generic functions
client-connection-state: Private generic functions
client-dequeue-read: Private ordinary functions
client-dequeue-write: Private ordinary functions
client-disable-handler: Private generic functions
client-disable-handler: Private generic functions
client-disconnect: Private generic functions
client-disconnect: Private generic functions
client-enable-handler: Private generic functions
client-enable-handler: Private generic functions
client-enqueue-read: Private ordinary functions
client-enqueue-write: Private ordinary functions
client-error-active: Private generic functions
client-error-active: Private generic functions
client-handler-data: Private generic functions
client-handler-data: Private generic functions
client-host: Public generic functions
client-host: Public generic functions
client-port: Public generic functions
client-port: Public generic functions
client-query-string: Public generic functions
client-query-string: Public generic functions
client-read-closed: Private generic functions
client-read-closed: Private generic functions
client-read-queue: Private generic functions
client-read-queue: Private generic functions
client-reader: Private generic functions
client-reader: Private generic functions
client-reader-active: Private generic functions
client-reader-active: Private generic functions
client-resource: Private generic functions
client-resource: Private generic functions
client-resource-name: Public generic functions
client-resource-name: Public generic functions
client-server: Private generic functions
client-server: Private generic functions
client-socket: Private generic functions
client-socket: Private generic functions
client-socket-closed: Private generic functions
client-socket-closed: Private generic functions
client-websocket-version: Public generic functions
client-websocket-version: Public generic functions
client-write-buffer: Private generic functions
client-write-buffer: Private generic functions
client-write-closed: Private generic functions
client-write-closed: Private generic functions
client-write-offset: Private generic functions
client-write-offset: Private generic functions
client-write-queue: Private generic functions
client-write-queue: Private generic functions
client-writer-active: Private generic functions
client-writer-active: Private generic functions
close-frame-for-protocol: Private ordinary functions

D
dequeue: Private ordinary functions
disconnect-client: Private ordinary functions
dispatch-control-message: Private ordinary functions
dispatch-frame: Private ordinary functions
dispatch-message: Private ordinary functions
dispatch-protocols: Private ordinary functions

E
end-of-chunks: Private generic functions
end-of-chunks: Private generic functions
enqueue: Private ordinary functions
error-callback: Private generic functions
error-callback: Private generic functions
extract-key: Private ordinary functions

F
find-global-resource: Public ordinary functions
frame-fin: Private generic functions
frame-fin: Private generic functions
frame-length: Private generic functions
frame-length: Private generic functions
frame-opcode: Private generic functions
frame-opcode: Private generic functions
frame-opcode-octet: Private generic functions
frame-opcode-octet: Private generic functions
Function, %client-enqueue-write-or-kill: Private ordinary functions
Function, %write-to-client: Private ordinary functions
Function, add-reader-to-client: Private ordinary functions
Function, any-origin: Public ordinary functions
Function, binary-message-for-protocol: Private ordinary functions
Function, build-frames: Private ordinary functions
Function, call-with-buffer-as-stream: Private ordinary functions
Function, client-dequeue-read: Private ordinary functions
Function, client-dequeue-write: Private ordinary functions
Function, client-enqueue-read: Private ordinary functions
Function, client-enqueue-write: Private ordinary functions
Function, close-frame-for-protocol: Private ordinary functions
Function, dequeue: Private ordinary functions
Function, disconnect-client: Private ordinary functions
Function, dispatch-control-message: Private ordinary functions
Function, dispatch-frame: Private ordinary functions
Function, dispatch-message: Private ordinary functions
Function, dispatch-protocols: Private ordinary functions
Function, enqueue: Private ordinary functions
Function, extract-key: Private ordinary functions
Function, find-global-resource: Public ordinary functions
Function, get-utf8-string-or-fail: Private ordinary functions
Function, ignore-remaining-input: Private ordinary functions
Function, invalid-header: Private ordinary functions
Function, kill-resource-listener: Public ordinary functions
Function, lg: Private ordinary functions
Function, mailbox-count: Private ordinary functions
Function, mailbox-empty-p: Private ordinary functions
Function, mailbox-list-messages: Private ordinary functions
Function, mailbox-receive-message: Private ordinary functions
Function, mailbox-receive-message-no-hang: Private ordinary functions
Function, mailbox-receive-pending-messages: Private ordinary functions
Function, mailbox-send-message: Private ordinary functions
Function, mailboxp: Private ordinary functions
Function, make-challenge-00: Private ordinary functions
Function, make-challenge-o7: Private ordinary functions
Function, make-domain-policy: Private ordinary functions
Function, make-frame-from-string: Private ordinary functions
Function, make-handshake-76: Private ordinary functions
Function, make-listener-handler: Private ordinary functions
Function, make-mailbox: Private ordinary functions
Function, make-queue: Private ordinary functions
Function, match-headers: Private ordinary functions
Function, match-policy-file: Private ordinary functions
Function, match-resource-line: Private ordinary functions
Function, maybe-policy-file: Private ordinary functions
Function, next-reader-state: Private ordinary functions
Function, octet-count-matcher: Private ordinary functions
Function, octet-pattern-matcher: Private ordinary functions
Function, origin-exact: Public ordinary functions
Function, origin-prefix: Public ordinary functions
Function, pong-frame-for-protocol: Private ordinary functions
Function, protocol-13-parse-headers: Private ordinary functions
Function, protocol-7+-extended-length: Private ordinary functions
Function, protocol-7+-handshake: Private ordinary functions
Function, protocol-7+-read-frame: Private ordinary functions
Function, protocol-7+-read-mask: Private ordinary functions
Function, protocol-7+-start-frame: Private ordinary functions
Function, protocol-7-parse-headers: Private ordinary functions
Function, protocol-76/00-frame-start: Private ordinary functions
Function, protocol-76/00-nonce: Private ordinary functions
Function, protocol-76/00-read-binary-frame: Private ordinary functions
Function, protocol-76/00-read-text-frame: Private ordinary functions
Function, protocol-8-parse-headers: Private ordinary functions
Function, register-global-resource: Public ordinary functions
Function, run-resource-listener: Public ordinary functions
Function, run-server: Public ordinary functions
Function, send-error-and-close: Private ordinary functions
Function, special-client-write-value-p: Private ordinary functions
Function, string-to-shareable-octets: Private ordinary functions
Function, text-message-for-protocol: Private ordinary functions
Function, try-write-client: Private ordinary functions
Function, unregister-global-resource: Public ordinary functions
Function, unsupported-protocol-version: Private ordinary functions
Function, valid-resource-p: Private ordinary functions
Function, write-to-client-binary: Public ordinary functions
Function, write-to-client-close: Public ordinary functions
Function, write-to-client-text: Public ordinary functions
Function, write-to-clients-binary: Public ordinary functions
Function, write-to-clients-text: Public ordinary functions

G
Generic Function, %client-host: Private generic functions
Generic Function, %client-server-hook: Private generic functions
Generic Function, %get-chunks: Private generic functions
Generic Function, (setf buffer-size): Private generic functions
Generic Function, (setf callback): Private generic functions
Generic Function, (setf chunks): Private generic functions
Generic Function, (setf client-connection-headers): Public generic functions
Generic Function, (setf client-connection-rejected): Public generic functions
Generic Function, (setf client-connection-state): Private generic functions
Generic Function, (setf client-handler-data): Private generic functions
Generic Function, (setf client-query-string): Public generic functions
Generic Function, (setf client-read-closed): Private generic functions
Generic Function, (setf client-read-queue): Private generic functions
Generic Function, (setf client-reader): Private generic functions
Generic Function, (setf client-resource): Private generic functions
Generic Function, (setf client-resource-name): Public generic functions
Generic Function, (setf client-socket-closed): Private generic functions
Generic Function, (setf client-websocket-version): Public generic functions
Generic Function, (setf client-write-buffer): Private generic functions
Generic Function, (setf client-write-closed): Private generic functions
Generic Function, (setf client-write-offset): Private generic functions
Generic Function, (setf end-of-chunks): Private generic functions
Generic Function, (setf error-callback): Private generic functions
Generic Function, (setf frame-fin): Private generic functions
Generic Function, (setf frame-length): Private generic functions
Generic Function, (setf frame-opcode): Private generic functions
Generic Function, (setf frame-opcode-octet): Private generic functions
Generic Function, (setf message-opcode): Private generic functions
Generic Function, (setf partial-message): Private generic functions
Generic Function, (setf partial-vector): Private generic functions
Generic Function, (setf partial-vector-pos): Private generic functions
Generic Function, (setf predicate): Private generic functions
Generic Function, (setf server-event-base): Private generic functions
Generic Function, add-chunk: Private generic functions
Generic Function, add-chunks: Private generic functions
Generic Function, buffer-count: Private generic functions
Generic Function, buffer-end: Private generic functions
Generic Function, buffer-size: Private generic functions
Generic Function, buffer-start: Private generic functions
Generic Function, buffer-vector: Private generic functions
Generic Function, call-on-resource-thread: Public generic functions
Generic Function, callback: Private generic functions
Generic Function, chunks: Private generic functions
Generic Function, client-connection-headers: Public generic functions
Generic Function, client-connection-rejected: Public generic functions
Generic Function, client-connection-state: Private generic functions
Generic Function, client-disable-handler: Private generic functions
Generic Function, client-disconnect: Private generic functions
Generic Function, client-enable-handler: Private generic functions
Generic Function, client-error-active: Private generic functions
Generic Function, client-handler-data: Private generic functions
Generic Function, client-host: Public generic functions
Generic Function, client-port: Public generic functions
Generic Function, client-query-string: Public generic functions
Generic Function, client-read-closed: Private generic functions
Generic Function, client-read-queue: Private generic functions
Generic Function, client-reader: Private generic functions
Generic Function, client-reader-active: Private generic functions
Generic Function, client-resource: Private generic functions
Generic Function, client-resource-name: Public generic functions
Generic Function, client-server: Private generic functions
Generic Function, client-socket: Private generic functions
Generic Function, client-socket-closed: Private generic functions
Generic Function, client-websocket-version: Public generic functions
Generic Function, client-write-buffer: Private generic functions
Generic Function, client-write-closed: Private generic functions
Generic Function, client-write-offset: Private generic functions
Generic Function, client-write-queue: Private generic functions
Generic Function, client-writer-active: Private generic functions
Generic Function, end-of-chunks: Private generic functions
Generic Function, error-callback: Private generic functions
Generic Function, frame-fin: Private generic functions
Generic Function, frame-length: Private generic functions
Generic Function, frame-opcode: Private generic functions
Generic Function, frame-opcode-octet: Private generic functions
Generic Function, get-octet-vector: Private generic functions
Generic Function, get-utf8-string: Private generic functions
Generic Function, mask-octets: Private generic functions
Generic Function, message-function: Private generic functions
Generic Function, message-opcode: Private generic functions
Generic Function, partial-message: Private generic functions
Generic Function, partial-vector: Private generic functions
Generic Function, partial-vector-pos: Private generic functions
Generic Function, peek-octet: Private generic functions
Generic Function, predicate: Private generic functions
Generic Function, read-octet: Private generic functions
Generic Function, resource-accept-connection: Public generic functions
Generic Function, resource-client-connected: Public generic functions
Generic Function, resource-client-disconnected: Public generic functions
Generic Function, resource-read-queue: Private generic functions
Generic Function, resource-received-binary: Public generic functions
Generic Function, resource-received-custom-message: Private generic functions
Generic Function, resource-received-text: Public generic functions
Generic Function, send-custom-message-to-resource: Public generic functions
Generic Function, server-client-count: Private generic functions
Generic Function, server-clients: Private generic functions
Generic Function, server-event-base: Private generic functions
Generic Function, server-list-clients: Private generic functions
Generic Function, status-code: Private generic functions
Generic Function, status-message: Private generic functions
get-octet-vector: Private generic functions
get-octet-vector: Private generic functions
get-utf8-string: Private generic functions
get-utf8-string: Private generic functions
get-utf8-string-or-fail: Private ordinary functions

I
ignore-remaining-input: Private ordinary functions
invalid-header: Private ordinary functions

K
kill-resource-listener: Public ordinary functions

L
lg: Private ordinary functions

M
Macro, make-array-ubyte8: Private macros
Macro, with-buffer-as-stream: Private macros
mailbox-count: Private ordinary functions
mailbox-empty-p: Private ordinary functions
mailbox-list-messages: Private ordinary functions
mailbox-receive-message: Private ordinary functions
mailbox-receive-message-no-hang: Private ordinary functions
mailbox-receive-pending-messages: Private ordinary functions
mailbox-send-message: Private ordinary functions
mailboxp: Private ordinary functions
make-array-ubyte8: Private macros
make-challenge-00: Private ordinary functions
make-challenge-o7: Private ordinary functions
make-domain-policy: Private ordinary functions
make-frame-from-string: Private ordinary functions
make-handshake-76: Private ordinary functions
make-listener-handler: Private ordinary functions
make-mailbox: Private ordinary functions
make-queue: Private ordinary functions
mask-octets: Private generic functions
mask-octets: Private generic functions
match-headers: Private ordinary functions
match-policy-file: Private ordinary functions
match-resource-line: Private ordinary functions
maybe-policy-file: Private ordinary functions
message-function: Private generic functions
message-function: Private generic functions
message-opcode: Private generic functions
message-opcode: Private generic functions
Method, %client-host: Private generic functions
Method, %client-server-hook: Private generic functions
Method, %get-chunks: Private generic functions
Method, %get-chunks: Private generic functions
Method, (setf buffer-size): Private generic functions
Method, (setf callback): Private generic functions
Method, (setf chunks): Private generic functions
Method, (setf chunks): Private generic functions
Method, (setf client-connection-headers): Public generic functions
Method, (setf client-connection-rejected): Public generic functions
Method, (setf client-connection-state): Private generic functions
Method, (setf client-handler-data): Private generic functions
Method, (setf client-query-string): Public generic functions
Method, (setf client-read-closed): Private generic functions
Method, (setf client-read-queue): Private generic functions
Method, (setf client-reader): Private generic functions
Method, (setf client-resource): Private generic functions
Method, (setf client-resource-name): Public generic functions
Method, (setf client-socket-closed): Private generic functions
Method, (setf client-websocket-version): Public generic functions
Method, (setf client-write-buffer): Private generic functions
Method, (setf client-write-closed): Private generic functions
Method, (setf client-write-offset): Private generic functions
Method, (setf end-of-chunks): Private generic functions
Method, (setf error-callback): Private generic functions
Method, (setf frame-fin): Private generic functions
Method, (setf frame-length): Private generic functions
Method, (setf frame-opcode): Private generic functions
Method, (setf frame-opcode-octet): Private generic functions
Method, (setf message-opcode): Private generic functions
Method, (setf partial-message): Private generic functions
Method, (setf partial-vector): Private generic functions
Method, (setf partial-vector-pos): Private generic functions
Method, (setf predicate): Private generic functions
Method, (setf server-event-base): Private generic functions
Method, add-chunk: Private generic functions
Method, add-chunks: Private generic functions
Method, buffer-count: Private generic functions
Method, buffer-end: Private generic functions
Method, buffer-size: Private generic functions
Method, buffer-start: Private generic functions
Method, buffer-vector: Private generic functions
Method, call-on-resource-thread: Public generic functions
Method, callback: Private generic functions
Method, chunks: Private generic functions
Method, chunks: Private generic functions
Method, client-connection-headers: Public generic functions
Method, client-connection-rejected: Public generic functions
Method, client-connection-state: Private generic functions
Method, client-disable-handler: Private generic functions
Method, client-disconnect: Private generic functions
Method, client-enable-handler: Private generic functions
Method, client-error-active: Private generic functions
Method, client-handler-data: Private generic functions
Method, client-host: Public generic functions
Method, client-port: Public generic functions
Method, client-query-string: Public generic functions
Method, client-read-closed: Private generic functions
Method, client-read-queue: Private generic functions
Method, client-reader: Private generic functions
Method, client-reader-active: Private generic functions
Method, client-resource: Private generic functions
Method, client-resource-name: Public generic functions
Method, client-server: Private generic functions
Method, client-socket: Private generic functions
Method, client-socket-closed: Private generic functions
Method, client-websocket-version: Public generic functions
Method, client-write-buffer: Private generic functions
Method, client-write-closed: Private generic functions
Method, client-write-offset: Private generic functions
Method, client-write-queue: Private generic functions
Method, client-writer-active: Private generic functions
Method, end-of-chunks: Private generic functions
Method, error-callback: Private generic functions
Method, frame-fin: Private generic functions
Method, frame-length: Private generic functions
Method, frame-opcode: Private generic functions
Method, frame-opcode-octet: Private generic functions
Method, get-octet-vector: Private generic functions
Method, get-utf8-string: Private generic functions
Method, mask-octets: Private generic functions
Method, message-function: Private generic functions
Method, message-opcode: Private generic functions
Method, partial-message: Private generic functions
Method, partial-vector: Private generic functions
Method, partial-vector-pos: Private generic functions
Method, peek-octet: Private generic functions
Method, predicate: Private generic functions
Method, read-octet: Private generic functions
Method, resource-accept-connection: Public generic functions
Method, resource-client-connected: Public generic functions
Method, resource-read-queue: Private generic functions
Method, resource-received-custom-message: Private generic functions
Method, send-custom-message-to-resource: Public generic functions
Method, server-client-count: Private generic functions
Method, server-clients: Private generic functions
Method, server-event-base: Private generic functions
Method, server-list-clients: Private generic functions
Method, status-code: Private generic functions
Method, status-code: Private generic functions
Method, status-message: Private generic functions
Method, status-message: Private generic functions

N
next-reader-state: Private ordinary functions

O
octet-count-matcher: Private ordinary functions
octet-pattern-matcher: Private ordinary functions
origin-exact: Public ordinary functions
origin-prefix: Public ordinary functions

P
partial-message: Private generic functions
partial-message: Private generic functions
partial-vector: Private generic functions
partial-vector: Private generic functions
partial-vector-pos: Private generic functions
partial-vector-pos: Private generic functions
peek-octet: Private generic functions
peek-octet: Private generic functions
pong-frame-for-protocol: Private ordinary functions
predicate: Private generic functions
predicate: Private generic functions
protocol-13-parse-headers: Private ordinary functions
protocol-7+-extended-length: Private ordinary functions
protocol-7+-handshake: Private ordinary functions
protocol-7+-read-frame: Private ordinary functions
protocol-7+-read-mask: Private ordinary functions
protocol-7+-start-frame: Private ordinary functions
protocol-7-parse-headers: Private ordinary functions
protocol-76/00-frame-start: Private ordinary functions
protocol-76/00-nonce: Private ordinary functions
protocol-76/00-read-binary-frame: Private ordinary functions
protocol-76/00-read-text-frame: Private ordinary functions
protocol-8-parse-headers: Private ordinary functions

R
read-octet: Private generic functions
read-octet: Private generic functions
register-global-resource: Public ordinary functions
resource-accept-connection: Public generic functions
resource-accept-connection: Public generic functions
resource-client-connected: Public generic functions
resource-client-connected: Public generic functions
resource-client-disconnected: Public generic functions
resource-read-queue: Private generic functions
resource-read-queue: Private generic functions
resource-received-binary: Public generic functions
resource-received-custom-message: Private generic functions
resource-received-custom-message: Private generic functions
resource-received-text: Public generic functions
run-resource-listener: Public ordinary functions
run-server: Public ordinary functions

S
send-custom-message-to-resource: Public generic functions
send-custom-message-to-resource: Public generic functions
send-error-and-close: Private ordinary functions
server-client-count: Private generic functions
server-client-count: Private generic functions
server-clients: Private generic functions
server-clients: Private generic functions
server-event-base: Private generic functions
server-event-base: Private generic functions
server-list-clients: Private generic functions
server-list-clients: Private generic functions
special-client-write-value-p: Private ordinary functions
status-code: Private generic functions
status-code: Private generic functions
status-code: Private generic functions
status-message: Private generic functions
status-message: Private generic functions
status-message: Private generic functions
string-to-shareable-octets: Private ordinary functions

T
text-message-for-protocol: Private ordinary functions
try-write-client: Private ordinary functions

U
unregister-global-resource: Public ordinary functions
unsupported-protocol-version: Private ordinary functions

V
valid-resource-p: Private ordinary functions

W
with-buffer-as-stream: Private macros
write-to-client-binary: Public ordinary functions
write-to-client-close: Public ordinary functions
write-to-client-text: Public ordinary functions
write-to-clients-binary: Public ordinary functions
write-to-clients-text: Public ordinary functions


A.3 Variables

Jump to:   %   *  
B   C   E   F   H   M   P   Q   R   S   V   W  
Index Entry  Section

%
%host: Private classes

*
*400-message*: Private special variables
*403-message*: Private special variables
*404-message*: Private special variables
*close-frame*: Private special variables
*debug-on-resource-errors*: Public special variables
*debug-on-server-errors*: Public special variables
*draft-76/00-close-frame*: Private special variables
*log-level*: Public special variables
*max-clients*: Public special variables
*max-handler-read-backlog*: Private special variables
*max-header-size*: Private special variables
*max-read-frame-size*: Public special variables
*max-read-message-size*: Private special variables
*max-write-backlog*: Private special variables
*policy-file*: Private special variables
*policy-file-request*: Private special variables
*protocol-76/00-support*: Public special variables
*protocol-header-parsers*: Private special variables
*resources*: Private special variables
*server-busy-message*: Private special variables
*supported-protocol-versions*: Private special variables

B
buffer-size: Private classes

C
callback: Private classes
chunks: Private classes
chunks: Private classes
clients: Private classes
closed: Private classes
code: Private conditions
code: Private conditions
connection-headers: Private classes
connection-rejected: Private classes
connection-state: Private classes

E
end: Private classes
end-of-chunks: Private classes
error-callback: Private classes
event-base: Private classes

F
frame-fin: Private classes
frame-length: Private classes
frame-opcode: Private classes
frame-opcode-octet: Private classes
function: Private classes

H
handler-data: Private classes
host: Private classes

M
message: Private conditions
message: Private conditions
message-opcode: Private classes

P
partial-message: Private classes
partial-vector: Private classes
partial-vector-pos: Private classes
port: Private classes
predicate: Private classes

Q
query-string: Private classes

R
read-closed: Private classes
read-queue: Public classes
read-queue: Private classes
reader: Private classes
resource: Private classes
resource-name: Private classes

S
server: Private classes
server-hook: Private classes
Slot, %host: Private classes
Slot, buffer-size: Private classes
Slot, callback: Private classes
Slot, chunks: Private classes
Slot, chunks: Private classes
Slot, clients: Private classes
Slot, closed: Private classes
Slot, code: Private conditions
Slot, code: Private conditions
Slot, connection-headers: Private classes
Slot, connection-rejected: Private classes
Slot, connection-state: Private classes
Slot, end: Private classes
Slot, end-of-chunks: Private classes
Slot, error-callback: Private classes
Slot, event-base: Private classes
Slot, frame-fin: Private classes
Slot, frame-length: Private classes
Slot, frame-opcode: Private classes
Slot, frame-opcode-octet: Private classes
Slot, function: Private classes
Slot, handler-data: Private classes
Slot, host: Private classes
Slot, message: Private conditions
Slot, message: Private conditions
Slot, message-opcode: Private classes
Slot, partial-message: Private classes
Slot, partial-vector: Private classes
Slot, partial-vector-pos: Private classes
Slot, port: Private classes
Slot, predicate: Private classes
Slot, query-string: Private classes
Slot, read-closed: Private classes
Slot, read-queue: Public classes
Slot, read-queue: Private classes
Slot, reader: Private classes
Slot, resource: Private classes
Slot, resource-name: Private classes
Slot, server: Private classes
Slot, server-hook: Private classes
Slot, socket: Private classes
Slot, start: Private classes
Slot, vector: Private classes
Slot, websocket-version: Private classes
Slot, write-buffer: Private classes
Slot, write-closed: Private classes
Slot, write-offset: Private classes
Slot, write-queue: Private classes
socket: Private classes
Special Variable, *400-message*: Private special variables
Special Variable, *403-message*: Private special variables
Special Variable, *404-message*: Private special variables
Special Variable, *close-frame*: Private special variables
Special Variable, *debug-on-resource-errors*: Public special variables
Special Variable, *debug-on-server-errors*: Public special variables
Special Variable, *draft-76/00-close-frame*: Private special variables
Special Variable, *log-level*: Public special variables
Special Variable, *max-clients*: Public special variables
Special Variable, *max-handler-read-backlog*: Private special variables
Special Variable, *max-header-size*: Private special variables
Special Variable, *max-read-frame-size*: Public special variables
Special Variable, *max-read-message-size*: Private special variables
Special Variable, *max-write-backlog*: Private special variables
Special Variable, *policy-file*: Private special variables
Special Variable, *policy-file-request*: Private special variables
Special Variable, *protocol-76/00-support*: Public special variables
Special Variable, *protocol-header-parsers*: Private special variables
Special Variable, *resources*: Private special variables
Special Variable, *server-busy-message*: Private special variables
Special Variable, *supported-protocol-versions*: Private special variables
start: Private classes

V
vector: Private classes

W
websocket-version: Private classes
write-buffer: Private classes
write-closed: Private classes
write-offset: Private classes
write-queue: Private classes


A.4 Data types

Jump to:   B   C   F   P   R   S   T   U   W  
Index Entry  Section

B
buffer-chunk: Private classes
buffer.lisp: The clws/buffer․lisp file
buffered-reader: Private classes

C
chunk-buffer: Private classes
Class, buffer-chunk: Private classes
Class, buffered-reader: Private classes
Class, chunk-buffer: Private classes
Class, client: Private classes
Class, funcall-custom-message: Private classes
Class, server: Private classes
Class, ws-resource: Public classes
client: Private classes
client-write-control-keyword: Private types
client.lisp: The clws/client․lisp file
close-from-peer: Private conditions
clws: The clws system
clws: The clws package
clws-system: The clws-system package
clws.asd: The clws/clws․asd file
concurrency-sbcl.lisp: The clws/concurrency-sbcl․lisp file
Condition, close-from-peer: Private conditions
Condition, fail-the-websockets-connection: Private conditions
config.lisp: The clws/config․lisp file

F
fail-the-websockets-connection: Private conditions
File, buffer.lisp: The clws/buffer․lisp file
File, client.lisp: The clws/client․lisp file
File, clws.asd: The clws/clws․asd file
File, concurrency-sbcl.lisp: The clws/concurrency-sbcl․lisp file
File, config.lisp: The clws/config․lisp file
File, package.lisp: The clws/package․lisp file
File, protocol-00.lisp: The clws/protocol-00․lisp file
File, protocol-7.lisp: The clws/protocol-7․lisp file
File, protocol-common.lisp: The clws/protocol-common․lisp file
File, protocol.lisp: The clws/protocol․lisp file
File, resource.lisp: The clws/resource․lisp file
File, sb-concurrency-patch.lisp: The clws/sb-concurrency-patch․lisp file
File, server.lisp: The clws/server․lisp file
File, util.lisp: The clws/util․lisp file
funcall-custom-message: Private classes

P
Package, clws: The clws package
Package, clws-system: The clws-system package
package.lisp: The clws/package․lisp file
protocol-00.lisp: The clws/protocol-00․lisp file
protocol-7.lisp: The clws/protocol-7․lisp file
protocol-common.lisp: The clws/protocol-common․lisp file
protocol.lisp: The clws/protocol․lisp file

R
resource.lisp: The clws/resource․lisp file

S
sb-concurrency-patch.lisp: The clws/sb-concurrency-patch․lisp file
server: Private classes
server.lisp: The clws/server․lisp file
System, clws: The clws system

T
Type, client-write-control-keyword: Private types

U
util.lisp: The clws/util․lisp file

W
ws-resource: Public classes