Liking cljdoc? Tell your friends :D

boundary.realtime.core.message

Pure functions for WebSocket message validation and routing.

Following FC/IS pattern - all functions are pure (no I/O). Message creation, validation, and routing logic.

Pure functions for WebSocket message validation and routing.

Following FC/IS pattern - all functions are pure (no I/O).
Message creation, validation, and routing logic.
raw docstring

broadcast-messageclj

(broadcast-message payload now)

Create broadcast message (send to all connections).

Pure function - no side effects.

Args: payload - Message payload map

Returns: Broadcast message map

Create broadcast message (send to all connections).

Pure function - no side effects.

Args:
  payload - Message payload map

Returns:
  Broadcast message map
sourceraw docstring

connection-messageclj

(connection-message connection-id payload now)

Create connection-specific message.

Pure function - no side effects.

Args: connection-id - Target connection UUID payload - Message payload map

Returns: Connection message map

Create connection-specific message.

Pure function - no side effects.

Args:
  connection-id - Target connection UUID
  payload - Message payload map

Returns:
  Connection message map
sourceraw docstring

create-messageclj

(create-message {:keys [type payload target] :as message-input} now)

Create new message record.

Pure function - deterministic for given inputs.

Args: message-input - Map with :type, :payload, :target (optional) now - Current timestamp generated by shell layer

Returns: Message map with timestamp

Create new message record.

Pure function - deterministic for given inputs.

 Args:
  message-input - Map with :type, :payload, :target (optional)
  now - Current timestamp generated by shell layer

Returns:
  Message map with timestamp
sourceraw docstring

explain-messageclj

(explain-message message)

Explain why message is invalid.

Pure function - returns validation errors.

Args: message - Message map

Returns: Malli explanation or nil if valid

Explain why message is invalid.

Pure function - returns validation errors.

Args:
  message - Message map

Returns:
  Malli explanation or nil if valid
sourceraw docstring

filter-by-targetclj

(filter-by-target messages target)

Filter messages by target.

Pure function - no side effects.

Args: messages - Collection of message maps target - Target (UUID or keyword)

Returns: Vector of messages with specified target

Filter messages by target.

Pure function - no side effects.

Args:
  messages - Collection of message maps
  target - Target (UUID or keyword)

Returns:
  Vector of messages with specified target
sourceraw docstring

filter-by-typeclj

(filter-by-type messages message-type)

Filter messages by type.

Pure function - no side effects.

Args: messages - Collection of message maps message-type - Message type keyword

Returns: Vector of messages with specified type

Filter messages by type.

Pure function - no side effects.

Args:
  messages - Collection of message maps
  message-type - Message type keyword

Returns:
  Vector of messages with specified type
sourceraw docstring

filter-recentclj

(filter-recent messages duration now)

Filter messages by time window.

Pure function - no side effects.

Args: messages - Collection of message maps duration - Time window (java.time.Duration) now - Current instant (for testability)

Returns: Vector of messages within time window

Filter messages by time window.

Pure function - no side effects.

Args:
  messages - Collection of message maps
  duration - Time window (java.time.Duration)
  now - Current instant (for testability)

Returns:
  Vector of messages within time window
sourceraw docstring

message-count-by-typeclj

(message-count-by-type messages)

Count messages by type.

Pure function - no side effects.

Args: messages - Collection of message maps

Returns: Map of {message-type count}

Count messages by type.

Pure function - no side effects.

Args:
  messages - Collection of message maps

Returns:
  Map of {message-type count}
sourceraw docstring

messages-for-connectionclj

(messages-for-connection messages connection all-connections)

Filter messages that would be routed to specific connection.

Pure function - useful for testing routing logic.

Args: messages - Collection of message maps connection - Connection record all-connections - All active connections (for routing context)

Returns: Vector of messages that would reach this connection

Filter messages that would be routed to specific connection.

Pure function - useful for testing routing logic.

Args:
  messages - Collection of message maps
  connection - Connection record
  all-connections - All active connections (for routing context)

Returns:
  Vector of messages that would reach this connection
sourceraw docstring

role-messageclj

(role-message role payload now)

Create role message (send to users with specific role).

Pure function - no side effects.

Args: role - Target role keyword payload - Message payload map

Returns: Role message map

Create role message (send to users with specific role).

Pure function - no side effects.

Args:
  role - Target role keyword
  payload - Message payload map

Returns:
  Role message map
sourceraw docstring

route-messageclj

(route-message message connections)

Determine which connection IDs should receive message.

Pure function - no side effects, just logic.

Args: message - Message map connections - Collection of Connection records

Returns: Vector of connection IDs that should receive message

Determine which connection IDs should receive message.

Pure function - no side effects, just logic.

Args:
  message - Message map
  connections - Collection of Connection records

Returns:
  Vector of connection IDs that should receive message
sourceraw docstring

route-to-connectionsclj

(route-to-connections message connections)

Determine which Connection records should receive message.

Pure function - returns full connection records instead of just IDs. Useful for downstream processing that needs connection metadata.

Args: message - Message map connections - Collection of Connection records

Returns: Vector of Connection records that should receive message

Determine which Connection records should receive message.

Pure function - returns full connection records instead of just IDs.
Useful for downstream processing that needs connection metadata.

Args:
  message - Message map
  connections - Collection of Connection records

Returns:
  Vector of Connection records that should receive message
sourceraw docstring

user-messageclj

(user-message user-id payload now)

Create user message (send to specific user).

Pure function - no side effects.

Args: user-id - Target user UUID payload - Message payload map

Returns: User message map

Create user message (send to specific user).

Pure function - no side effects.

Args:
  user-id - Target user UUID
  payload - Message payload map

Returns:
  User message map
sourceraw docstring

valid-message?clj

(valid-message? message)

Validate message against schema.

Pure function - no side effects.

Args: message - Message map

Returns: Boolean - true if valid

Validate message against schema.

Pure function - no side effects.

Args:
  message - Message map

Returns:
  Boolean - true if valid
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close