shimmer/ws/event_loop

Types

pub type ActorState {
  ActorState(
    heartbeat_interval: Int,
    sequence: Int,
    conn: Connection,
    meta: WebsocketMeta,
    selector: Selector(Message),
    subject: Subject(Message),
  )
}

Constructors

  • ActorState(
      heartbeat_interval: Int,
      sequence: Int,
      conn: Connection,
      meta: WebsocketMeta,
      selector: Selector(Message),
      subject: Subject(Message),
    )
pub type Message {
  WebsocketFrame(websocket.Frame)
  Beat
  Halt
}

Constructors

  • WebsocketFrame(websocket.Frame)

    Frames from Gun

  • Beat

    Heartbeat Message Only

  • Halt

    Kill the Actor

pub type WebsocketMeta {
  WebsocketMeta(token: String, intents: Int, handlers: Handlers)
}

Constructors

  • WebsocketMeta(token: String, intents: Int, handlers: Handlers)

Functions

pub fn actor_loop(msg: Message, state: ActorState) -> Next(
  ActorState,
)
pub fn actor_setup(client: Client) -> fn() ->
  InitResult(ActorState, Message)
Search Document