abstract struct Amber::WebSockets::ClientSocket
- Amber::WebSockets::ClientSocket
- Struct
- Value
- Object
Overview
ClientSocket struct maps a user to an HTTP::WebSocket.  For every websocket connection
there will be an associated ClientSocket.  Authentication and authorization happen within the ClientSocket.  ClientSocket will subscribe to Channels,
where incoming and outgoing messages are routed through.
Example:
struct UserSocket < Amber::Websockets::ClientSocket
  channel "user_channel:*", UserChannel
  channel "room_channel:*", RoomChannel
  def on_connect
    return some_auth_method!
  end
endDefined in:
amber/websockets/client_socket.crConstant Summary
- 
        BEAT_INTERVAL = 30.seconds
- 
        Log = ::Log.for(self)
- 
        MAX_SOCKET_IDLE_TIME = 100.seconds
Constructors
Class Method Summary
- 
        .broadcast(event : String, topic : String, subject : String, payload : Hash)
        
          Broadcast a message to all subscribers of the topic 
- 
        .channel(channel_path, ch)
        
          Add a channel for this socket to listen, publish to 
- .channels
- .get_topic_channel(topic_path)
Instance Method Summary
- 
        #on_connect : Bool
        
          Authentication and authorization can happen here 
- 
        #on_disconnect
        
          On socket disconnect functionality 
- #socket : HTTP::WebSocket
Constructor Detail
Class Method Detail
Broadcast a message to all subscribers of the topic
UserSocket.broadcast("message", "chats_room:1", "msg:new", {"message" => "test"})