lichat-serverlib

API Reference

lichat-serverlib

Tools to help build a server using the lichat protocol.

LICHAT-SERVERLIB

  • Class TIMEOUTABLE
    TIMEOUT   Accessor: TIMEOUT
  • Method START-TIMEOUT ((timeoutable timeoutable))
  • Method RESET-TIMEOUT ((timeoutable timeoutable))
  • Method ALIVE-P ((timeoutable timeoutable))
  • Class CHANNEL  (CHANNEL, TIMEOUTABLE)
    No slots.
  • Class BACKLOGGED-CHANNEL  (CHANNEL)
    BACKLOG   Accessor: BACKLOG
    JOIN-TIMES   Accessor: JOIN-TIMES
  • Class USER  (USER)
    No slots.
  • Class CONNECTION  (CONNECTION)
    SERVER   Accessor: SERVER
    LAST-UPDATE   Accessor: LAST-UPDATE
    READ-LIMIT   Accessor: READ-LIMIT
  • Method (setf SERVER) (server (connection connection))
  • Class FLOOD-PROTECTED-CONNECTION  (CONNECTION)
    LAST-FRAME   Accessor: LAST-FRAME
    FRAME-COUNT   Accessor: FRAME-COUNT
  • Class PROFILE  (PROFILE, TIMEOUTABLE)
    No slots.
  • Generic-Function PASSWORD-VALID-P (profile password)
  • Method (setf PASSWORD) (password (profile simple-profile))
  • Method PASSWORD-VALID-P ((profile simple-profile) password)
  • Class SERVER  (USER)
    USERS   Accessor: USERS
    PROFILES   Accessor: PROFILES
    CHANNELS   Accessor: CHANNELS
    IDLE-TIMEOUT   Accessor: IDLE-TIMEOUT
    ALLOWED-CONTENT-TYPES   Accessor: ALLOWED-CONTENT-TYPES
    DEFAULT-READ-LIMIT   Accessor: DEFAULT-READ-LIMIT
  • Class FLOOD-PROTECTED-SERVER  (SERVER)
    FLOOD-FRAME   Accessor: FLOOD-FRAME
    FLOOD-LIMIT   Accessor: FLOOD-LIMIT
  • Method MAKE-CONNECTION ((server server) &rest initargs)
  • Method MAKE-CONNECTION ((server flood-protected-server) &rest initargs)
  • Function COERCE-USERNAME (name-ish)
  • Function COERCE-CHANNELNAME (name-ish)
  • Method FIND-USER (name (server server))
  • Method (setf FIND-USER) (user name (server server))
  • Method REMOVE-USER (name (server server))
  • Method MAKE-USER ((server server) &rest initargs)
  • Method LIST-USERS ((server server))
  • Method FIND-PROFILE (name (server server))
  • Method FIND-PROFILE ((name string) (server server))
  • Method (setf FIND-PROFILE) (profile name (server server))
  • Method REMOVE-PROFILE (name (server server))
  • Method MAKE-PROFILE ((server server) &rest initargs)
  • Method LIST-PROFILES ((server server))
  • Method FIND-CHANNEL (name (server server))
  • Method (setf FIND-CHANNEL) (channel name (server server))
  • Method REMOVE-CHANNEL (name (server server))
  • Method MAKE-CHANNEL ((server server) &rest initargs)
  • Method LIST-CHANNELS ((server server))
  • Function PREP-PERMS (registrant perms)
  • Function RULE-PERMITTED (rule name)
  • Function PERMITTED (action channel user)
  • Method CREATE (registrant name (server server))
  • Method JOIN ((channel channel) (user user) &optional id)
  • Method JOIN ((channel backlogged-channel) (user user) &optional id)
  • Method LEAVE ((channel channel) (user user) &key id (notify-self t))
  • Method LEAVE ((channel backlogged-channel) (user user) &key id notify-self)
  • Method REGISTER (registrant password server)
  • Method INIT-CONNECTION ((connection connection) update)
  • Method TEARDOWN-CONNECTION ((connection connection))
  • Function CHECK-PERMITTED (connection update &optional (channel (lichat-protocol:channel update)))
  • Function CHECK-FROM (connection update)
  • Function CHECK-TARGET (connection update)
  • Function CHECK-CHANNEL (connection update &optional (must-be-in t))
  • Function CHECK-CHANNELNAME (connection update)
  • Condition FAILURE-CONDITION  (ERROR)
  • Function FAIL! (type-ish &rest initargs)
  • Function SEND! (connection type-ish &rest initargs)
  • Method CHECK-CONNECTION-TIMEOUT ((connection connection))
  • Method SEND ((object wire-object) (connection connection))
  • Method SEND ((object update) (channel backlogged-channel))
  • Method SEND ((object wire-object) (channel channel))
  • Method SEND ((object wire-object) (user user))
  • Method PASS-FLOOD-GATE ((connection flood-protected-connection) (update update))
  • Method PROCESS ((connection connection) (stream stream))
  • Method PROCESS ((connection flood-protected-connection) (update update))
  • Method PROCESS ((connection connection) (update update))
  • Macro DEFINE-UPDATE-HANDLER (type (connection update) &body body)
  • Method PROCESS ((connection connection) (update connect))
  • Method PROCESS ((connection connection) (update disconnect))
  • Method PROCESS ((connection connection) (update ping))
  • Method PROCESS ((connection connection) (update pong))
  • Method PROCESS ((connection connection) (update message))
  • Method PROCESS ((connection connection) (update join))
  • Method PROCESS ((connection connection) (update leave))
  • Method PROCESS ((connection connection) (update channels))
  • Method PROCESS ((connection connection) (update users))
  • Method PROCESS ((connection connection) (update create))
  • Method PROCESS ((connection connection) (update kick))
  • Method PROCESS ((connection connection) (update pull))
  • Method PROCESS ((connection connection) (update permissions))
  • Method PROCESS ((connection connection) (update register))
  • Method PROCESS ((connection connection) (update user-info))
  • Method PROCESS ((connection connection) (update backfill))
  • Method PROCESS ((connection connection) (update data))
  • Variable *ALLOWED-EMOTE-CONTENT-TYPES*
    '("image/png" "image/jpeg" "image/gif")
  • Function EMOTE (name)
  • Function (setf EMOTE) (emote name)
  • Function ADD-EMOTE (pathname)
  • Function ADD-EMOTES (directory)
  • Function REMOVE-EMOTE (name)
  • Method PROCESS ((connection connection) (update emotes))