This is the lichat-protocol Reference Manual, version 1.5, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 06:36:47 2024 GMT+0.
lichat-protocol/lichat-protocol.asd
lichat-protocol/package.lisp
lichat-protocol/conditions.lisp
lichat-protocol/printer.lisp
lichat-protocol/reader.lisp
lichat-protocol/typed-slot-class.lisp
lichat-protocol/protocol.lisp
lichat-protocol/base-protocols.lisp
lichat-protocol/wire.lisp
lichat-protocol/documentation.lisp
The main system appears first, followed by any subsystem dependency.
lichat-protocol
The independent protocol part of Lichat.
Yukari Hafner <shinmera@tymoon.eu>
Yukari Hafner <shinmera@tymoon.eu>
(GIT https://github.com/Shirakumo/lichat-protocol.git)
zlib
1.5
documentation-utils
(system).
closer-mop
(system).
trivial-package-local-nicknames
(system).
package.lisp
(file).
conditions.lisp
(file).
printer.lisp
(file).
reader.lisp
(file).
typed-slot-class.lisp
(file).
protocol.lisp
(file).
base-protocols.lisp
(file).
wire.lisp
(file).
documentation.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
lichat-protocol/lichat-protocol.asd
lichat-protocol/package.lisp
lichat-protocol/conditions.lisp
lichat-protocol/printer.lisp
lichat-protocol/reader.lisp
lichat-protocol/typed-slot-class.lisp
lichat-protocol/protocol.lisp
lichat-protocol/base-protocols.lisp
lichat-protocol/wire.lisp
lichat-protocol/documentation.lisp
lichat-protocol/lichat-protocol.asd
lichat-protocol
(system).
lichat-protocol/conditions.lisp
package.lisp
(file).
lichat-protocol
(system).
incompatible-value-type-for-slot
(condition).
incomplete-token
(condition).
malformed-wire-object
(condition).
missing-clock
(condition).
missing-id
(condition).
missing-update-argument
(condition).
null-in-symbol-designator
(condition).
object
(reader method).
object
(reader method).
printer-condition
(condition).
protocol-condition
(condition).
read-limit-hit
(condition).
reader-condition
(condition).
stray-null-found
(condition).
symbol-designator
(reader method).
symbol-designator
(reader method).
unknown-symbol
(condition).
unknown-wire-object
(condition).
unprintable-object
(condition).
update
(reader method).
update
(reader method).
update
(reader method).
wire-condition
(condition).
lichat-protocol/printer.lisp
conditions.lisp
(file).
lichat-protocol
(system).
print-sexpr
(function).
print-sexpr-list
(function).
print-sexpr-number
(function).
print-sexpr-string
(function).
print-sexpr-symbol
(function).
print-sexpr-token
(function).
lichat-protocol/reader.lisp
printer.lisp
(file).
lichat-protocol
(system).
read-sexpr
(function).
skip-to-null
(function).
whitespace-p
(function).
*errors*
(special variable).
*invalid-symbol*
(special variable).
*read-counter*
(special variable).
*read-import*
(special variable).
*read-limit*
(special variable).
*whitespace*
(special variable).
lpeek
(function).
lread
(function).
lunread
(function).
read-sexpr-keyword
(function).
read-sexpr-list
(function).
read-sexpr-number
(function).
read-sexpr-string
(function).
read-sexpr-symbol
(function).
read-sexpr-token
(function).
safe-find-symbol
(function).
skip-whitespace
(function).
lichat-protocol/typed-slot-class.lisp
reader.lisp
(file).
lichat-protocol
(system).
compute-effective-slot-definition
(method).
direct-slot-definition-class
(method).
effective-slot-definition-class
(method).
print-object
(method).
shared-initialize
(method).
slot-makunbound-using-class
(method).
(setf slot-value-using-class)
(method).
validate-superclass
(method).
validate-superclass
(method).
%check-slot-value
(function).
*unbound-value*
(special variable).
check-compatible-slot-value
(function).
define-typed-class
(macro).
slot-type
(reader method).
(setf slot-type)
(writer method).
typed-direct-slot-definition
(class).
typed-effective-slot-definition
(class).
typed-object
(class).
typed-slot
(class).
typed-slot-class
(class).
lichat-protocol/protocol.lisp
typed-slot-class.lisp
(file).
lichat-protocol
(system).
*default-anonymous-channel-permissions*
(special variable).
*default-channel-lifetime*
(special variable).
*default-primary-channel-permissions*
(special variable).
*default-profile-lifetime*
(special variable).
*default-regular-channel-permissions*
(special variable).
*id-counter*
(special variable).
channel
(class).
channelname
(type).
channelname-p
(function).
channels
(reader method).
(setf channels)
(writer method).
connection
(class).
connections
(reader method).
(setf connections)
(writer method).
define-protocol-class
(macro).
id
(type).
id-p
(function).
lifetime
(reader method).
lifetime
(reader method).
(setf lifetime)
(writer method).
(setf lifetime)
(writer method).
name
(reader method).
(setf name)
(writer method).
named-object
(class).
next-id
(function).
object
(class).
password
(type).
password-p
(function).
permissions
(reader method).
(setf permissions)
(writer method).
print-object
(method).
print-object
(method).
profile
(class).
protocol-version
(function).
server-object
(class).
user
(reader method).
(setf user)
(writer method).
user
(class).
username
(type).
username-p
(function).
users
(reader method).
(setf users)
(writer method).
wireable
(type).
*protocol-extensions*
(special variable).
define-extension
(macro).
define-from-protocol-file
(macro).
define-object
(macro).
define-object-extension
(macro).
define-package
(macro).
field-definition-to-slot-definition
(function).
maybe-sval
(function).
read-protocol-file
(function).
valid-name-char-p
(function).
lichat-protocol/base-protocols.lisp
protocol.lisp
(file).
lichat-protocol
(system).
allowed-content-types
(reader method).
(setf allowed-content-types)
(writer method).
already-connected
(class).
already-in-channel
(class).
assign-role
(class).
assume-identity
(class).
attributes
(reader method).
(setf attributes)
(writer method).
backfill
(class).
bad-content-type
(class).
bad-ip-format
(class).
bad-name
(class).
ban
(class).
blacklist
(class).
block
(class).
blocked
(class).
bridge
(reader method).
(setf bridge)
(writer method).
bridge
(class).
by
(reader method).
(setf by)
(writer method).
capabilities
(class).
channel
(reader method).
channel
(reader method).
channel
(reader method).
(setf channel)
(writer method).
(setf channel)
(writer method).
(setf channel)
(writer method).
channel-info
(class).
channel-update
(class).
channelname-taken
(class).
channels
(reader method).
(setf channels)
(writer method).
channels
(class).
clock
(reader method).
(setf clock)
(writer method).
clock-skewed
(class).
compatible-versions
(reader method).
(setf compatible-versions)
(writer method).
connect
(class).
connection-unstable
(class).
connections
(reader method).
connections
(reader method).
(setf connections)
(writer method).
(setf connections)
(writer method).
content-type
(reader method).
content-type
(reader method).
(setf content-type)
(writer method).
(setf content-type)
(writer method).
create
(class).
data
(class).
delete-role
(class).
deny
(class).
destroy
(class).
disconnect
(class).
edit
(class).
emote
(reader method).
(setf emote)
(writer method).
emote
(class).
emote-list-full
(class).
emotes
(class).
extensions
(reader method).
(setf extensions)
(writer method).
failure
(class).
filename
(reader method).
(setf filename)
(writer method).
from
(reader method).
(setf from)
(writer method).
grant
(class).
id
(reader method).
(setf id)
(writer method).
identities
(reader method).
(setf identities)
(writer method).
incompatible-version
(class).
info
(reader method).
(setf info)
(writer method).
insufficient-permissions
(class).
invalid-otp-key
(class).
invalid-password
(class).
invalid-permissions
(class).
invalid-update
(class).
ip
(reader method).
ip
(reader method).
(setf ip)
(writer method).
(setf ip)
(writer method).
ip-ban
(class).
ip-blacklist
(class).
ip-unban
(class).
join
(class).
key
(reader method).
key
(reader method).
key
(reader method).
key
(reader method).
key
(reader method).
key
(reader method).
key
(reader method).
(setf key)
(writer method).
(setf key)
(writer method).
(setf key)
(writer method).
(setf key)
(writer method).
(setf key)
(writer method).
(setf key)
(writer method).
(setf key)
(writer method).
keys
(reader method).
(setf keys)
(writer method).
kick
(class).
kill
(class).
last-read
(class).
leave
(class).
link
(reader method).
(setf link)
(writer method).
list-shared-identities
(class).
malformed-channel-info
(class).
malformed-update
(class).
malformed-user-info
(class).
mask
(reader method).
mask
(reader method).
(setf mask)
(writer method).
(setf mask)
(writer method).
message
(class).
name
(reader method).
(setf name)
(writer method).
names
(reader method).
(setf names)
(writer method).
no-such-channel
(class).
no-such-channel-info
(class).
no-such-parent-channel
(class).
no-such-profile
(class).
no-such-role
(class).
no-such-user
(class).
no-such-user-info
(class).
not-in-channel
(class).
offset
(reader method).
(setf offset)
(writer method).
otp-key
(reader method).
(setf otp-key)
(writer method).
otp-token
(reader method).
(setf otp-token)
(writer method).
password
(reader method).
password
(reader method).
(setf password)
(writer method).
(setf password)
(writer method).
pause
(class).
payload
(reader method).
payload
(reader method).
(setf payload)
(writer method).
(setf payload)
(writer method).
permissions
(reader method).
permissions
(reader method).
(setf permissions)
(writer method).
(setf permissions)
(writer method).
permissions
(class).
permitted
(reader method).
(setf permitted)
(writer method).
ping
(class).
pong
(class).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
pull
(class).
query
(reader method).
(setf query)
(writer method).
quiet
(class).
quieted
(class).
react
(class).
register
(class).
registered
(reader method).
(setf registered)
(writer method).
registration-rejected
(class).
remove-role
(class).
reply-to
(reader method).
(setf reply-to)
(writer method).
results
(reader method).
(setf results)
(writer method).
rich
(reader method).
(setf rich)
(writer method).
role
(reader method).
(setf role)
(writer method).
role
(class).
role-update
(class).
roles
(reader method).
(setf roles)
(writer method).
roles
(class).
search
(class).
server-info
(class).
set-channel-info
(class).
set-user-info
(class).
share-identity
(class).
signature
(reader method).
(setf signature)
(writer method).
since
(reader method).
(setf since)
(writer method).
target
(reader method).
target
(reader method).
target
(reader method).
target
(reader method).
target
(reader method).
target
(reader method).
target
(reader method).
target
(reader method).
(setf target)
(writer method).
(setf target)
(writer method).
(setf target)
(writer method).
(setf target)
(writer method).
(setf target)
(writer method).
(setf target)
(writer method).
(setf target)
(writer method).
(setf target)
(writer method).
target-update
(class).
text
(reader method).
(setf text)
(writer method).
text-update
(class).
too-many-channels
(class).
too-many-connections
(class).
too-many-updates
(class).
typing
(class).
unban
(class).
unblock
(class).
unquiet
(class).
unshare-identity
(class).
update
(reader method).
update
(reader method).
(setf update)
(writer method).
(setf update)
(writer method).
update
(class).
update-failure
(class).
update-id
(reader method).
update-id
(reader method).
update-id
(reader method).
update-id
(reader method).
(setf update-id)
(writer method).
(setf update-id)
(writer method).
(setf update-id)
(writer method).
(setf update-id)
(writer method).
update-too-long
(class).
updates-throttled
(class).
user-info
(class).
username-mismatch
(class).
username-taken
(class).
users
(reader method).
(setf users)
(writer method).
users
(class).
version
(reader method).
(setf version)
(writer method).
warning
(class).
lichat-protocol/wire.lisp
base-protocols.lisp
(file).
lichat-protocol
(system).
check-update-options
(function).
from-wire
(function).
from-wire*
(function).
to-wire
(function).
lichat-protocol/documentation.lisp
wire.lisp
(file).
lichat-protocol
(system).
Packages are listed by definition order.
lichat-protocol
org.shirakumo.lichat.protocol
common-lisp
.
*default-anonymous-channel-permissions*
(special variable).
*default-channel-lifetime*
(special variable).
*default-primary-channel-permissions*
(special variable).
*default-profile-lifetime*
(special variable).
*default-regular-channel-permissions*
(special variable).
*id-counter*
(special variable).
allowed-content-types
(generic reader).
(setf allowed-content-types)
(generic writer).
already-connected
(class).
already-in-channel
(class).
assign-role
(class).
assume-identity
(class).
attributes
(generic reader).
(setf attributes)
(generic writer).
backfill
(class).
bad-content-type
(class).
bad-ip-format
(class).
bad-name
(class).
ban
(class).
blacklist
(class).
block
(class).
blocked
(class).
bridge
(generic reader).
(setf bridge)
(generic writer).
bridge
(class).
by
(generic reader).
(setf by)
(generic writer).
capabilities
(class).
channel
(generic reader).
(setf channel)
(generic writer).
channel
(class).
channel-info
(class).
channel-update
(class).
channelname
(type).
channelname-p
(function).
channelname-taken
(class).
channels
(generic reader).
(setf channels)
(generic writer).
channels
(class).
check-update-options
(function).
clock
(generic reader).
(setf clock)
(generic writer).
clock-skewed
(class).
compatible-versions
(generic reader).
(setf compatible-versions)
(generic writer).
connect
(class).
connection
(class).
connection-unstable
(class).
connections
(generic reader).
(setf connections)
(generic writer).
content-type
(generic reader).
(setf content-type)
(generic writer).
create
(class).
data
(class).
define-protocol-class
(macro).
delete-role
(class).
deny
(class).
destroy
(class).
disconnect
(class).
edit
(class).
emote
(generic reader).
(setf emote)
(generic writer).
emote
(class).
emote-list-full
(class).
emotes
(class).
extensions
(generic reader).
(setf extensions)
(generic writer).
failure
(class).
filename
(generic reader).
(setf filename)
(generic writer).
from
(generic reader).
(setf from)
(generic writer).
from-wire
(function).
from-wire*
(function).
grant
(class).
id
(generic reader).
(setf id)
(generic writer).
id
(type).
id-p
(function).
identities
(generic reader).
(setf identities)
(generic writer).
incompatible-value-type-for-slot
(condition).
incompatible-version
(class).
incomplete-token
(condition).
info
(generic reader).
(setf info)
(generic writer).
insufficient-permissions
(class).
invalid-otp-key
(class).
invalid-password
(class).
invalid-permissions
(class).
invalid-update
(class).
ip
(generic reader).
(setf ip)
(generic writer).
ip-ban
(class).
ip-blacklist
(class).
ip-unban
(class).
join
(class).
key
(generic reader).
(setf key)
(generic writer).
keys
(generic reader).
(setf keys)
(generic writer).
kick
(class).
kill
(class).
last-read
(class).
leave
(class).
lifetime
(generic reader).
(setf lifetime)
(generic writer).
link
(generic reader).
(setf link)
(generic writer).
list-shared-identities
(class).
malformed-channel-info
(class).
malformed-update
(class).
malformed-user-info
(class).
malformed-wire-object
(condition).
mask
(generic reader).
(setf mask)
(generic writer).
message
(class).
missing-clock
(condition).
missing-id
(condition).
missing-update-argument
(condition).
name
(generic reader).
(setf name)
(generic writer).
named-object
(class).
names
(generic reader).
(setf names)
(generic writer).
next-id
(function).
no-such-channel
(class).
no-such-channel-info
(class).
no-such-parent-channel
(class).
no-such-profile
(class).
no-such-role
(class).
no-such-user
(class).
no-such-user-info
(class).
not-in-channel
(class).
null-in-symbol-designator
(condition).
object
(generic reader).
object
(class).
offset
(generic reader).
(setf offset)
(generic writer).
otp-key
(generic reader).
(setf otp-key)
(generic writer).
otp-token
(generic reader).
(setf otp-token)
(generic writer).
password
(generic reader).
(setf password)
(generic writer).
password
(type).
password-p
(function).
pause
(class).
payload
(generic reader).
(setf payload)
(generic writer).
permissions
(generic reader).
(setf permissions)
(generic writer).
permissions
(class).
permitted
(generic reader).
(setf permitted)
(generic writer).
ping
(class).
pong
(class).
print-sexpr
(function).
printer-condition
(condition).
profile
(class).
protocol-condition
(condition).
protocol-version
(function).
pull
(class).
query
(generic reader).
(setf query)
(generic writer).
quiet
(class).
quieted
(class).
react
(class).
read-limit-hit
(condition).
read-sexpr
(function).
reader-condition
(condition).
register
(class).
registered
(generic reader).
(setf registered)
(generic writer).
registration-rejected
(class).
remove-role
(class).
reply-to
(generic reader).
(setf reply-to)
(generic writer).
results
(generic reader).
(setf results)
(generic writer).
rich
(generic reader).
(setf rich)
(generic writer).
role
(generic reader).
(setf role)
(generic writer).
role
(class).
role-update
(class).
roles
(generic reader).
(setf roles)
(generic writer).
roles
(class).
search
(class).
server-info
(class).
server-object
(class).
set-channel-info
(class).
set-user-info
(class).
share-identity
(class).
signature
(generic reader).
(setf signature)
(generic writer).
since
(generic reader).
(setf since)
(generic writer).
skip-to-null
(function).
stray-null-found
(condition).
symbol-designator
(generic reader).
target
(generic reader).
(setf target)
(generic writer).
target-update
(class).
text
(generic reader).
(setf text)
(generic writer).
text-update
(class).
to-wire
(function).
too-many-channels
(class).
too-many-connections
(class).
too-many-updates
(class).
typing
(class).
unban
(class).
unblock
(class).
unknown-symbol
(condition).
unknown-wire-object
(condition).
unprintable-object
(condition).
unquiet
(class).
unshare-identity
(class).
update
(generic reader).
(setf update)
(generic writer).
update
(class).
update-failure
(class).
update-id
(generic reader).
(setf update-id)
(generic writer).
update-too-long
(class).
updates-throttled
(class).
user
(generic reader).
(setf user)
(generic writer).
user
(class).
user-info
(class).
username
(type).
username-mismatch
(class).
username-p
(function).
username-taken
(class).
users
(generic reader).
(setf users)
(generic writer).
users
(class).
version
(generic reader).
(setf version)
(generic writer).
warning
(class).
whitespace-p
(function).
wire-condition
(condition).
wireable
(type).
%check-slot-value
(function).
*errors*
(special variable).
*invalid-symbol*
(special variable).
*protocol-extensions*
(special variable).
*read-counter*
(special variable).
*read-import*
(special variable).
*read-limit*
(special variable).
*unbound-value*
(special variable).
*whitespace*
(special variable).
check-compatible-slot-value
(function).
define-extension
(macro).
define-from-protocol-file
(macro).
define-object
(macro).
define-object-extension
(macro).
define-package
(macro).
define-typed-class
(macro).
field-definition-to-slot-definition
(function).
lpeek
(function).
lread
(function).
lunread
(function).
maybe-sval
(function).
print-sexpr-list
(function).
print-sexpr-number
(function).
print-sexpr-string
(function).
print-sexpr-symbol
(function).
print-sexpr-token
(function).
read-protocol-file
(function).
read-sexpr-keyword
(function).
read-sexpr-list
(function).
read-sexpr-number
(function).
read-sexpr-string
(function).
read-sexpr-symbol
(function).
read-sexpr-token
(function).
reqtype
(generic reader).
safe-find-symbol
(function).
skip-whitespace
(function).
slot
(generic reader).
slot-type
(generic reader).
(setf slot-type)
(generic writer).
typed-direct-slot-definition
(class).
typed-effective-slot-definition
(class).
typed-object
(class).
typed-slot
(class).
typed-slot-class
(class).
valid-name-char-p
(function).
value
(generic reader).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Default permissions for anonymous channels.
The default lifetime for a new channel in seconds.
Should equal to one standard month (30 days).
Default permissions for primary/server channels.
The default lifetime for a registered profile in seconds.
Should equal to one non-leap year.
Default permissions for non-primary, non-anonymous channels.
Counter variables for update IDs.
Starts at a random integer between 0 and the current universal-time.
This is done to make the clashing of IDs less likely to occur between
users of the protocol library.
See NEXT-ID
Defines a new protocol class.
See DEFINE-TYPED-CLASS
Returns true if the given name is a valid name for channels.
See USERNAME-P
Checks the given sexpr for conformity to use as initargs for an update.
The items after the first symbol in the list are checked
as follows: they must be balanced pairs of KEYWORD to
atom. If this is not the case, an error of type
MALFORMED-WIRE-OBJECT is signalled. If no key :ID is
found, an error of type MISSING-ID is signalled. If no
key :CLOCK is found, an error of type MISSING-CLOCK is
signalled.
See FROM-WIRE
See MISSING-ID
See MISSING-CLOCK
See MALFORMED-WIRE-OBJECT
Read a wire object from the stream.
First an object is read from stream by READ-SEXPR.
If the returned object is not a cons, it is returned
immediately. Otherwise, the procedure is as follows:
The first element must be a symbol. If it isn’t, an
error of type MALFORMED-WIRE-OBJECT is signalled.
If the symbol does not designate a class, or designates
a class that is not a subclass of WIRE-OBJECT, an error
of type UNKNOWN-WIRE-OBJECT is signalled. If the class
is a subclass of UPDATE, the rest of the items in the
list are checked by CHECK-UPDATE-OPTIONS. Finally
MAKE-INSTANCE is called with the full expression as
arguments. If the class is a subclass of object,
MAKE-INSTANCE is called with the full expression as
arguments immediately.
See READ-SEXPR
See MALFORMED-WIRE-OBJECT
See UNKNOWN-WIRE-OBJECT
See CHECK-UPDATE-OPTIONS
Returns true if the given object is a valid ID.
Returns a fresh ID.
See *ID-COUNTER*
Returns true if the given object is a string of at least six characters.
Print an s-expression to the stream.
Only the following types are allowed:
LIST STRING REAL SYMBOL
Any other type will signal an error of type UNPRINTABLE-OBJECT.
See PRINT-SEXPR-LIST
See PRINT-SEXPR-STRING
See PRINT-SEXPR-NUMBER
See PRINT-SEXPR-SYMBOL
See UNPRINTABLE-OBJECT
Returns the version string for the protocol.
Reads an s-expression from the stream.
Skips all the whitespace at the beginning.
Depending on the character following, the reading is
dispatched as follows:
( => READ-SEXPR-LIST
) => Signals an INCOMPLETE-TOKEN error
" => READ-SEXPR-STIRNG
012345689. => READ-SEXPR-NUMBER
: => READ-SEXPR-KEYWORD
otherwise => READ-SEXPR-SYMBOL
See READ-SEXPR-LIST
See READ-SEXPR-STRING
See READ-SEXPR-NUMBER
See READ-SEXPR-KEYWORD
See READ-SEXPR-SYMBOL
Print the wireable object to the stream.
Only handles objects of type WIRE-OBJECT and WIREABLE.
WIRE-OBJECTS are printed as a list in the following
format: a list of the object’s type symbol followed by
pairs of keyword to value of the object’s slots that
have an initarg. Slots without an initarg are not
printed.
The output is forced once written fully.
See PRINT-SEXPR
See FORCE-OUTPUT
Returns true if the given name is a valid name for users.
That is to say, the name must be a string in [1,32] of length
and each character must be in the allowed unicode regions. The
name must also not begin or end with a space.
See VALID-NAME-CHAR-P
Returns T if the character is considered to be whitespace.
See *WHITESPACE*
Returns a list of allowed content-type identifiers that the server supports.
See BAD-CONTENT-TYPE
bad-content-type
)) ¶automatically generated reader method
bad-content-type
)) ¶automatically generated writer method
server-info
)) ¶automatically generated reader method
server-info
)) ¶automatically generated writer method
channel-update
)) ¶automatically generated reader method
channel-update
)) ¶automatically generated writer method
Accessor to the name of the channel the update relates to.
See CHANNEL-UPDATE
channel-update
)) ¶automatically generated reader method
channels
)) ¶automatically generated reader method
channel-update
)) ¶automatically generated writer method
channels
)) ¶automatically generated writer method
Accessor to the list of channels of the object.
See USER
See CHANNELS
Accessor to the clock of the update.
Must be a universal-time timestamp set at the time the update
was constructed.
See UPDATE
Accessor to the list of version strings that this server is compatible with.
See INCOMPATIBLE-VERSION
incompatible-version
)) ¶automatically generated reader method
incompatible-version
)) ¶automatically generated writer method
Accessor to the list of connections of the user or count of connections of the user-info.
See USER
See USER-INFO
user-info
)) ¶automatically generated reader method
server-info
)) ¶automatically generated reader method
user-info
)) ¶automatically generated writer method
server-info
)) ¶automatically generated writer method
Returns the content-type of the encoded data payload.
See DATA
Returns the file name of the file sent by the data payload.
See DATA
Accessor to the sender of the update.
Must be a username string identifying the user that sent it.
See UPDATE
Accessor to the ID of the update.
IDs should be connection-unique, meaning the same ID should not
appear on different connections at the same time.
See UPDATE
list-shared-identities
)) ¶automatically generated reader method
list-shared-identities
)) ¶automatically generated writer method
assume-identity
)) ¶automatically generated reader method
key
.
unshare-identity
)) ¶automatically generated reader method
key
.
share-identity
)) ¶automatically generated reader method
key
.
no-such-user-info
)) ¶automatically generated reader method
key
.
set-user-info
)) ¶automatically generated reader method
key
.
no-such-channel-info
)) ¶automatically generated reader method
key
.
set-channel-info
)) ¶automatically generated reader method
key
.
assume-identity
)) ¶automatically generated writer method
key
.
unshare-identity
)) ¶automatically generated writer method
key
.
share-identity
)) ¶automatically generated writer method
key
.
no-such-user-info
)) ¶automatically generated writer method
key
.
set-user-info
)) ¶automatically generated writer method
key
.
no-such-channel-info
)) ¶automatically generated writer method
key
.
set-channel-info
)) ¶automatically generated writer method
key
.
channel-info
)) ¶automatically generated reader method
keys
.
channel-info
)) ¶automatically generated writer method
keys
.
Accessor to the lifetime of the object.
The object should stay alive for at least this many
seconds after it has ceased to be used.
See PROFILE
See CHANNEL
Accessor to the object’s name string.
See NAMED-OBJECT
The object related to the condition.
See UNPRINTABLE-OBJECT
See INCOMPATIBLE-VALUE-TYPE-FOR-SLOT
incompatible-value-type-for-slot
)) ¶unprintable-object
)) ¶Accessor to the password of the object.
See PROFILE
See REGISTER
See CONNECT
Returns a base64 encoded data payload.
See DATA
See EMOTE
Accessor to the permissions list of the object.
See CHANNEL
See PERMISSIONS
permissions
)) ¶automatically generated reader method
role
)) ¶automatically generated writer method
permissions
)) ¶automatically generated writer method
capabilities
)) ¶automatically generated reader method
capabilities
)) ¶automatically generated writer method
Accessor to whether the user is registered or not.
See USER-INFO
text-update
)) ¶automatically generated reader method
rich
.
text-update
)) ¶automatically generated writer method
rich
.
role-update
)) ¶automatically generated reader method
role
.
role-update
)) ¶automatically generated writer method
role
.
A symbol designator.
Returns a CONS of two strings for the package- and symbol-name respectively.
See NULL-IN-SYMBOL-DESIGNATOR
See UNKNOWN-SYMBOL
unknown-symbol
)) ¶null-in-symbol-designator
)) ¶Accessor to the name of the user being targeted.
See TARGET-UPDATE
last-read
)) ¶automatically generated reader method
blocked
)) ¶automatically generated reader method
ip-blacklist
)) ¶automatically generated reader method
quieted
)) ¶automatically generated reader method
blacklist
)) ¶automatically generated reader method
target-update
)) ¶automatically generated reader method
roles
)) ¶automatically generated writer method
last-read
)) ¶automatically generated writer method
react
)) ¶automatically generated writer method
blocked
)) ¶automatically generated writer method
ip-blacklist
)) ¶automatically generated writer method
quieted
)) ¶automatically generated writer method
blacklist
)) ¶automatically generated writer method
target-update
)) ¶automatically generated writer method
Accessor to the text string carried by the update.
See TEXT-UPDATE
text-update
)) ¶automatically generated reader method
text
.
text-update
)) ¶automatically generated writer method
text
.
The update object that relates to the condition.
See MISSING-UPDATE-ARGUMENT
See UNKNOWN-WIRE-OBJECT
malformed-wire-object
)) ¶unknown-wire-object
)) ¶missing-update-argument
)) ¶Accessor to the ID of the update that failed to be completed.
See UPDATE-FAILURE
last-read
)) ¶automatically generated reader method
warning
)) ¶automatically generated reader method
update-failure
)) ¶automatically generated reader method
last-read
)) ¶automatically generated writer method
react
)) ¶automatically generated writer method
warning
)) ¶automatically generated writer method
update-failure
)) ¶automatically generated writer method
Accessor to the user tied to the connection.
See CONNECTION
See USER
connection
)) ¶automatically generated reader method
user
.
connection
)) ¶automatically generated writer method
user
.
Accessor to the list of users of the object.
See CHANNEL
See USERS
Accessor to the version of the connection update.
See CONNECT
typed-slot-class
) name direct-slots) ¶sb-mop
.
typed-slot-class
) &key) ¶sb-mop
.
typed-slot-class
) &key) ¶sb-mop
.
channel-update
) stream) ¶target-update
) stream) ¶text-update
) stream) ¶named-object
) stream) ¶update-failure
) stream) ¶connection
) stream) ¶typed-slot
) stream) ¶typed-slot-class
) object (slot typed-slot
)) ¶sb-mop
.
typed-slot-class
) object (slot typed-slot
)) ¶sb-mop
.
typed-slot-class
) (superclass standard-class
)) ¶sb-mop
.
standard-class
) (superclass typed-slot-class
)) ¶sb-mop
.
Condition signalled when an incompatible type is attempted to be set on a slot.
See OBJECT
See SLOT
See VALUE
See REQTYPE
error
.
protocol-condition
.
Condition signalled when a token is not complete on the wire and thus can’t be read fully.
error
.
reader-condition
.
Condition signalled when an object is found on the wire but is malformed and can’t be parsed.
See UPDATE
error
.
wire-condition
.
Condition signalled when the CLOCK field is missing from an update.
error
.
missing-update-argument
.
Condition signalled when the ID field is missing from an update.
error
.
missing-update-argument
.
Superclass for all conditions relating to missing required arguments in updates.
See MISSING-ID
See MISSING-CLOCK
See UPDATE
Condition signalled when a symbol is attempted to be put to the wire whose designator contains NULL characters.
See SYMBOL-DESIGNATOR
error
.
printer-condition
.
:symbol-designator
This slot is read-only.
Superclass for all conditions relating to printing to the wire.
See UNPRINTABLE-OBJECT
Superclass for all conditions relating to the protocol.
See WIRE-CONDITION
See INCOMPATIBLE-VALUE-TYPE-FOR-SLOT
condition
.
error
.
reader-condition
.
Superclass for all conditions relating to reading from the wire.
See INCOMPLETE-TOKEN
See UNKNOWN-SYMBOL
Condition signalled when a null character was found in the middle of an update.
See READER-CONDITION
error
.
reader-condition
.
Condition signalled when an unknown symbol is found on the wire.
See SYMBOL-DESIGNATOR
error
.
reader-condition
.
:symbol-designator
This slot is read-only.
Condition signalled when an object is found on the wire that has an unknown type.
See UPDATE
error
.
wire-condition
.
Condition signalled when an unprintable object is attempted to be put onto the wire.
See OBJECT
error
.
printer-condition
.
Superclass for all conditions relating to the wire format.
See PRINTER-CONDITION
See READER-CONDITION
See MISSING-UPDATE-ARGUMENT
See UNKNOWN-WIRE-OBJECT
See MALFORMED-WIRE-OBJECT
Update in response to a JOIN/PULL request for a user that is already in the specified channel.
See UPDATE-FAILURE
Update to represent a backfill request.
Possible responses:
See NOT-IN-CHANNEL
See CHANNEL-UPDATE
:since
, :since
Update in response to a DATA update with a content-type the server does not support.
See UPDATE-FAILURE
See ALLOWED-CONTENT-TYPES
(error ":allowed-content-types required.")
:allowed-content-types
, :allowed-content-types
Update in response to any named request with a name that is not valid.
Relevant are the FROM, TARGET, and CHANNEL fields.
See UPDATE-FAILURE
:target
, :target
:target
, :target
:permitted
, :permitted
Class to represent a channel.
See NAMED-OBJECT
See SERVER-OBJECT
See PERMISSIONS
See LIFETIME
See USERS
See *DEFAULT-CHANNEL-LIFETIME*
Initarg | Value |
---|---|
:permissions | nil |
:lifetime | *default-channel-lifetime* |
:users | nil |
:permissions
:lifetime
:users
Superclass for all updates relating to a channel.
See CHANNEL
See UPDATE
Update in response to a CREATE request for a channel that already exists.
See UPDATE-FAILURE
Update to represent a channels listing request.
Possible responses:
See CHANNELS
See BAD-NAME
See USERNAME-MISMATCH
See CHANNELS
See UPDATE
Update to represent a connection request.
This update must be the first thing sent by the client upon
connection establishment.
Possible responses:
See CONNECT
See BAD-NAME
See INVALID-PASSWORD
See USERNAME-TAKEN
See NO-SUCH-PROFILE
See INCOMPATIBLE-VERSION
See PASSWORD
See VERSION
See UPDATE
:password
, :password
(error ":version required.")
:version
, :version
(error ":extensions required.")
:extensions
, :extensions
:otp-token
, lichat-protocol:otp-token
Class to represent a connection of a user.
See SERVER-OBJECT
See USER
Update in response to an unstable or slow connection.
See FAILURE
Update to represent a channel creation request.
The channel may be NIL, in which case an anonymous channel
is constructed. You can obtain the name of the anonymous
channel by reading it out of the JOIN response.
Possible responses:
See JOIN
See BAD-NAME
See USERNAME-MISMATCH
See CHANNELNAME-TAKEN
See BAD-NAME
See INSUFFICIENT-PERMISSIONS
See CHANNEL-UPDATE
:channel
, :channel
Update to represent a raw data message.
Possible responses:
See NOT-IN-CHANNEL
See BAD-CONTENT-TYPE
See DATA
See CONTENT-TYPE
See FILENAME
See PAYLOAD
See CHANNEL-UPDATE
(error ":content-type required.")
:content-type
, :content-type
:filename
, :filename
(error ":payload required.")
:payload
, :payload
(error ":update required.")
:update
, :update
Update to represent a disconnection request.
Possible responses:
See DISCONNECT
See USERNAME-MISMATCH
See UPDATE
Update to represent a change to an existing message.
See MESSAGE
Update to represent an emote entity.
This should only be sent by the server.
See CONTENT-TYPE
See NAME
See PAYLOAD
See UPDATE
(error ":content-type required.")
:content-type
, :content-type
(error ":payload required.")
:payload
, :payload
Update to represent an emote listing request.
Possible responses:
See EMOTE
See UPDATE
See NAMES
:names
, :names
Superclass for all failure response updates.
See TEXT-UDPATE
(error ":update required.")
:update
, :update
Update in response to a connection attempt with an incompatible protocol version.
See COMPATIBLE-VERSIONS
See UPDATE-FAILURE
(error ":compatible-versions required.")
:compatible-versions
, :compatible-versions
Update in response to a request that is not permitted on the current or primary channel.
See UPDATE-FAILURE
Update in response to a connection attempt with an invalid password for the profile.
See UPDATE-FAILURE
Update in response to a PERMISSIONS request that attempted to set malformed permissions.
See UPDATE-FAILURE
Update in response to an update of invalid type.
See UPDATE-FAILURE
:target
, :target
Update to represent a channel join request.
Possible responses:
See JOIN
See BAD-NAME
See USERNAME-MISMATCH
See ALREADY-IN-CHANNEL
See NO-SUCH-CHANNEL
See INSUFFICIENT-PERMISSIONS
See CHANNEL-UDPATE
Update to represent a user kick request.
Possible responses:
See KICK
See BAD-NAME
See USERNAME-MISMATCH
See NOT-IN-CHANNEL
See NO-SUCH-USER
See NO-SUCH-CHANNEL
See INSUFFICIENT-PERMISSIONS
See TARGET-UPDATE
See CHANNEL-UPDATE
Update to represent a channel leave request.
Possible responses:
See LEAVE
See BAD-NAME
See USERNAME-MISMATCH
See NOT-IN-CHANNEL
See NO-SUCH-CHANNEL
See INSUFFICIENT-PERMISSIONS
See CHANNEL-UDPATE
:identities
, :identities
Update in response to a malformed update.
See FAILURE
Update to represent a channel message request.
Possible responses:
See MESSAGE
See BAD-NAME
See USERNAME-MISMATCH
See NO-SUCH-CHANNEL
See INSUFFICIENT-PERMISSIONS
See CHANNEL-UPDATE
See TEXT-UPDATE
Superclass for all objects that are named.
See NAME
Update in response to a CHANNEL-UPDATE for a channel that does not exist.
See UPDATE-FAILURE
Update in response to a connection attempt with a password for an inexistent profile.
See UPDATE-FAILURE
Update in response to a TARGET-UPDATE request that refers to user that does not exist.
See UPDATE-FAILURE
Update in response to a LEAVE/KICK request for a user that is not in the specified channel.
See UPDATE-FAILURE
Superclass for all classes that can be put onto the wire.
Update to represent a channel permissions view or change request.
If PERMISSIONS is NIL, the permissions are not changed.
Possible responses:
See PERMISSIONS
See BAD-NAME
See USERNAME-MISMATCH
See NO-SUCH-CHANNEL
See INSUFFICIENT-PERMISSIONS
See PERMISSIONS
See CHANNEL-UPDATE
:permissions
, :permissions
Update to represent a ping request.
The recipient must reply with a PONG update.
Possible responses:
PONG
See UPDATE
Update to represent a pong response.
See PING
See UPDATE
Class to represent user profiles. Only registered users have a profile.
See NAMED-OBJECT
See SERVER-OBJECT
See NAME
See PASSWORD
See LIFETIME
See *DEFAULT-PROFILE-LIFETIME*
Update to represent a user pull request.
The user will be automatically joined to the channel.
Possible responses:
See JOIN
See BAD-NAME
See USERNAME-MISMATCH
See ALREADY-IN-CHANNEL
See NO-SUCH-USER
See NO-SUCH-CHANNEL
See INSUFFICIENT-PERMISSIONS
See TARGET-UPDATE
See CHANNEL-UPDATE
:target
, :target
(error ":target required.")
:target
, :target
(error ":update-id required.")
:update-id
, :update-id
(error ":emote required.")
:emote
, :emote
Update to represent a registration request.
Possible responses:
See REGISTRATION-REJECTED
See REGISTER
See BAD-NAME
See USERNAME-MISMATCH
See INSUFFICIENT-PERMISSIONS
See UPDATE
Update in response to a REGISTER request that the server rejected.
See UPDATE-FAILURE
:permissions
, :permissions
Superclass for all objects that exist on the server-side.
channel
.
connection
.
profile
.
user
.
Superclass for all updates that target a user.
See TARGET
See UPDATE
assign-role
.
assume-identity
.
ban
.
block
.
deny
.
grant
.
kick
.
kill
.
pull
.
quiet
.
remove-role
.
server-info
.
unban
.
unblock
.
unquiet
.
user-info
.
(error ":target required.")
:target
, :target
Superclass for all updates that carry a text string.
See TEXT
See UPDATE
Update in response to too many connections being requested on the server globally, or for a single user.
See FAILURE
Update in response to a flooding of the server.
When this update is sent, any number of future updates
that are received may be dropped instead.
See UPDATE-FAILURE
Base class for all updates.
See OBJECT
See ID
See CLOCK
See FROM
See NEXT-ID
Update in response to an update request that failed.
See UPDATE-ID
See FAILURE
already-connected
.
already-in-channel
.
bad-content-type
.
bad-ip-format
.
bad-name
.
channelname-taken
.
clock-skewed
.
emote-list-full
.
incompatible-version
.
insufficient-permissions
.
invalid-otp-key
.
invalid-password
.
invalid-permissions
.
invalid-update
.
malformed-channel-info
.
malformed-user-info
.
no-such-channel
.
no-such-channel-info
.
no-such-parent-channel
.
no-such-profile
.
no-such-user
.
no-such-user-info
.
not-in-channel
.
registration-rejected
.
too-many-channels
.
too-many-updates
.
username-mismatch
.
username-taken
.
(error ":update-id required.")
:update-id
, :update-id
Update in response to an update that contained too many characters.
See FAILURE
Class to represent a user. Anything that can communicate with the server must have a user obuject.
See NAMED-OBJECT
See SERVER-OBJECT
See CONNECTIONS
See CHANNELS
Update to represent a user information request.
Possible responses:
See USER-INFO
See BAD-NAME
See USERNAME-MISMATCH
See NO-SUCH-USER
See REGISTERED
See CONNECTIONS
See TARGET-UPDATE
Update in response to a mismatch between the known username and the one in the FROM field.
See UPDATE-FAILURE
Update in response to a connection attempt with a username that is already taken.
See UPDATE-FAILURE
Update to represent a channel users listing request.
Possible responses:
USERS
BAD-NAME
USERNAME-MISMATCH
NO-SUCH-CHANNEL
INSUFFICIENT-PERMISSIONS
See CHANNEL-UPDATE
See USERS
:users
, :users
(error ":update-id required.")
:update-id
, :update-id
Type that is satisfied for all channelname strings.
See CHANNELNAME-P
Type that is satisfied for all ID objects.
See ID-P
Type that is satisfied for all password strings.
See PASSWORD-P
Type that is satisfied for all username strings.
See USERNAME-P
Type for all objects that are permitted to appear on the wire.
Should be the union of REAL STRING CONS SYMBOL WIRE-OBJECT
A list of errors that occurred during reading.
Placeholder symbol for symbols that could not be properly read.
Placeholder value for unbound values.
A vector of whitespace characters.
Shorthand wrapper around defclass to set it up for a typed-class.
See TYPED-OBJECT
See TYPED-SLOT-CLASS
Checks whether the given value is suitable for the given object’s slot.
If it is not, an error of type INCOMPATIBLE-VALUE-TYPE-FOR-SLOT
is signalled.
Returns the slot’s value if it is bound, or *UNBOUND-VALUE* if it is not.
Print an s-expression list to the stream.
This only handles proper lists. List items are printed recursively.
See PRINT-SEXPR
Print an s-expression number to the stream.
Only integers and floats can be printed, which are printed according to the CLHS rules on printing numbers.
Print an s-expression string to the stream.
Prints all characters verbatim, with the exception of ", which is escaped with a backslash.
Print an s-expression symbol to the stream.
Symbols are printed as follows:
KEYWORD:FOO => :FOO
LICHAT-PROTOCOL:FOO => FOO
#:FOO => #:FOO
SOMEWHERE:FOO => SOMEWHERE:FOO
See PRINT-SEXPR-TOKEN
Print an s-expression token to the stream.
All characters in the token string are printed verbatim, with the exception of
"():0123456789. #
which are escaped by a backslash.
Read a keyword from the stream. It is assumed that the colon has already been read.
See SAFE-FIND-SYMBOL
See READ-SEXPR-TOKEN
Read a list from the stream. It is assumed that the opening paren has already been read.
Reads a number from the stream. The number can be either an integer or a float.
Read a string from the stream. It is assumed that the opening double-quote has already been read.
Reads a symbol from the stream.
See READ-SEXPR-TOKEN
See SAFE-FIND-SYMBOL
Reads a token from the stream.
Tokens are sequences of characters that are terminated
by one of the following:
"():0123456789.
These characters may still appear in a token, but must
be escaped by a backslash.
Similar to FIND-SYMBOL, but recording an error for unknown symbols.
If the symbol cannot be found, a condition of type
UNKNOWN-SYMBOL is pushed onto the *ERRORS* list and
*INVALID-SYMBOL* is returned.
See FIND-SYMBOL
See UNKNOWN-SYMBOL
See *INVALID-SYMBOL*
See *ERRORS*
Consumes all characters from the stream until a non-whitespace character is found.
See WHITESPACE-P
Returns true if the given character is an allowed character in names.
This is according to §2.2.1 and §2.4.4.
The required type for the slot that was attempted to be set.
See INCOMPATIBLE-VALUE-TYPE-FOR-SLOT
incompatible-value-type-for-slot
)) ¶type
.
The slot that was attempted to be set.
See INCOMPATIBLE-VALUE-TYPE-FOR-SLOT
incompatible-value-type-for-slot
)) ¶slot
.
Accessor to the type constraint of the typed-slot.
See TYPED-SLOT
typed-slot
)) ¶automatically generated reader method
typed-slot
)) ¶automatically generated writer method
The value that was attempted to be set.
See INCOMPATIBLE-VALUE-TYPE-FOR-SLOT
incompatible-value-type-for-slot
)) ¶Direct-slot class for typed slots.
See TYPED-SLOT
standard-direct-slot-definition
.
typed-slot
.
Effective-slot class for typed slots.
See TYPED-SLOT
standard-effective-slot-definition
.
typed-slot
.
Superclass for objects with strictly typed slots.
See TYPED-SLOT-CLASS
See DEFINE-TYPED-CLASS
already-connected
.
already-in-channel
.
assign-role
.
assume-identity
.
backfill
.
bad-content-type
.
bad-ip-format
.
bad-name
.
ban
.
blacklist
.
block
.
blocked
.
bridge
.
capabilities
.
channel
.
channel-info
.
channel-update
.
channelname-taken
.
channels
.
clock-skewed
.
connect
.
connection
.
connection-unstable
.
create
.
data
.
delete-role
.
deny
.
destroy
.
disconnect
.
edit
.
emote
.
emote-list-full
.
emotes
.
failure
.
grant
.
incompatible-version
.
insufficient-permissions
.
invalid-otp-key
.
invalid-password
.
invalid-permissions
.
invalid-update
.
ip-ban
.
ip-blacklist
.
ip-unban
.
join
.
kick
.
kill
.
last-read
.
leave
.
list-shared-identities
.
malformed-channel-info
.
malformed-update
.
malformed-user-info
.
message
.
named-object
.
no-such-channel
.
no-such-channel-info
.
no-such-parent-channel
.
no-such-profile
.
no-such-role
.
no-such-user
.
no-such-user-info
.
not-in-channel
.
pause
.
permissions
.
ping
.
pong
.
profile
.
pull
.
quiet
.
quieted
.
react
.
register
.
registration-rejected
.
remove-role
.
role
.
role-update
.
roles
.
search
.
server-info
.
server-object
.
set-channel-info
.
set-user-info
.
share-identity
.
target-update
.
text-update
.
too-many-channels
.
too-many-connections
.
too-many-updates
.
typing
.
unban
.
unblock
.
unquiet
.
unshare-identity
.
update
.
update-failure
.
update-too-long
.
updates-throttled
.
user
.
user-info
.
username-mismatch
.
username-taken
.
users
.
warning
.
Slot class for slots with a strict type check.
See SLOT-TYPE
See TYPED-DIRECT-SLOT-DEFINITION
See TYPED-EFFECTIVE-SLOT-DEFINITION
See TYPED-SLOT-CLASS
standard-slot-definition
.
:slot-type
Metaclass for classes with strictly typed slots.
See TYPED-SLOT
See TYPED-OBJECT
standard-class
.
Jump to: | %
(
A B C D E F G I K L M N O P Q R S T U V W |
---|
Jump to: | %
(
A B C D E F G I K L M N O P Q R S T U V W |
---|
Jump to: | *
A B C E F I K L M N O P Q R S T U V |
---|
Jump to: | *
A B C E F I K L M N O P Q R S T U V |
---|
Jump to: | A B C D E F G I J K L M N O P Q R S T U W |
---|
Jump to: | A B C D E F G I J K L M N O P Q R S T U W |
---|