object
http_websocket_service_registryï
Session registry predicates for active WebSocket sessions and queued broadcast delivery.
logtalk_load(http_websocket_service(loader))static, context_switching_callsPublic predicatesï
open/1ï
Opens a new empty WebSocket session registry.
staticopen(Registry)open(-compound) - oneclose/1ï
Closes a session registry and removes all registered sessions and queued messages.
staticclose(Registry)close(+compound) - one_or_errorRegistry is a variable:instantiation_errorRegistry is neither a variable nor an open WebSocket service registry handle:domain_error(http_websocket_service_registry,Registry)Registry refers to a closed WebSocket service registry handle:existence_error(http_websocket_service_registry,session_registry(RegistryId))register/2ï
Registers a new active session in the given registry and returns its session identifier.
staticregister(Registry,Session)register(+compound,-compound) - one_or_errorRegistry is a variable:instantiation_errorRegistry is neither a variable nor an open WebSocket service registry handle:domain_error(http_websocket_service_registry,Registry)Registry refers to a closed WebSocket service registry handle:existence_error(http_websocket_service_registry,session_registry(RegistryId))unregister/2ï
Removes a session from the given registry together with any queued outbound messages.
staticunregister(Registry,Session)unregister(+compound,+compound) - one_or_errorRegistry is a variable:instantiation_errorRegistry is neither a variable nor an open WebSocket service registry handle:domain_error(http_websocket_service_registry,Registry)Registry refers to a closed WebSocket service registry handle:existence_error(http_websocket_service_registry,session_registry(RegistryId))Session is a variable or is not a session for Registry:instantiation_errorSession is not a valid WebSocket service registry session handle:domain_error(http_websocket_service_registry_session,Session)Session is not registered in Registry:existence_error(http_websocket_service_registry_session,websocket_session(RegistryId,SessionId))session/2ï
Enumerates active session identifiers registered in the given registry.
staticsession(Registry,Session)session(+compound,?compound) - zero_or_moresessions/2ï
Returns the list of active session identifiers registered in the given registry.
staticsessions(Registry,Sessions)sessions(+compound,-list(compound)) - one_or_errorRegistry is a variable:instantiation_errorRegistry is neither a variable nor an open WebSocket service registry handle:domain_error(http_websocket_service_registry,Registry)Registry refers to a closed WebSocket service registry handle:existence_error(http_websocket_service_registry,session_registry(RegistryId))session_count/2ï
Returns the number of active sessions currently registered in the given registry.
staticsession_count(Registry,Count)session_count(+compound,-integer) - one_or_errorRegistry is a variable:instantiation_errorRegistry is neither a variable nor an open WebSocket service registry handle:domain_error(http_websocket_service_registry,Registry)Registry refers to a closed WebSocket service registry handle:existence_error(http_websocket_service_registry,session_registry(RegistryId))send/3ï
Queues a normalized outbound message for the specified registered session.
staticsend(Registry,Session,Message)send(+compound,+compound,+compound) - one_or_errorRegistry is not an open WebSocket service registry handle:domain_error(http_websocket_service_registry,Registry)Session is not a valid WebSocket service registry session handle:domain_error(http_websocket_service_registry_session,Session)Session is not registered in Registry:existence_error(http_websocket_service_registry_session,websocket_session(RegistryId,SessionId))Message is not a valid normalized WebSocket message term:domain_error(http_websocket_service_registry_message,Message)broadcast/2ï
Queues a normalized outbound message for all currently registered sessions.
staticbroadcast(Registry,Message)broadcast(+compound,+compound) - one_or_errorRegistry is not an open WebSocket service registry handle:domain_error(http_websocket_service_registry,Registry)Message is not a valid normalized WebSocket message term:domain_error(http_websocket_service_registry_message,Message)broadcast_except/3ï
Queues a normalized outbound message for all currently registered sessions except the specified session.
staticbroadcast_except(Registry,Session,Message)broadcast_except(+compound,+compound,+compound) - one_or_errorRegistry is not an open WebSocket service registry handle:domain_error(http_websocket_service_registry,Registry)Session is not a valid WebSocket service registry session handle:domain_error(http_websocket_service_registry_session,Session)Session is not registered in Registry:existence_error(http_websocket_service_registry_session,websocket_session(RegistryId,SessionId))Message is not a valid normalized WebSocket message term:domain_error(http_websocket_service_registry_message,Message)take_pending/3ï
Removes and returns the queued outbound messages for the specified registered session.
statictake_pending(Registry,Session,Messages)take_pending(+compound,+compound,-list(compound)) - one_or_errorRegistry is not an open WebSocket service registry handle:domain_error(http_websocket_service_registry,Registry)Session is not a valid WebSocket service registry session handle:domain_error(http_websocket_service_registry_session,Session)Session is not registered in Registry:existence_error(http_websocket_service_registry_session,websocket_session(RegistryId,SessionId))Protected predicatesï
(no local declarations; see entity ancestors if any)
Private predicatesï
registry_seed_/1ï
Last allocated registry identifier.
dynamicregistry_seed_(RegistryId)registry_seed_(?positive_integer) - zero_or_oneregistry_state_/2ï
Per-registry next session identifier state.
dynamicregistry_state_(RegistryId,NextSessionId)registry_state_(?positive_integer,?non_negative_integer) - zero_or_moreregistry_session_/3ï
Registered sessions and their queued outbound messages indexed by registry identifier. Messages are stored in reverse order to make enqueue operations constant time.
dynamicregistry_session_(RegistryId,SessionId,QueuedMessagesReversed)registry_session_(?positive_integer,?positive_integer,?list(compound)) - zero_or_moreOperatorsï
(none)