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)