Class: Wamp::Connection::Session

Inherits:
Object
  • Object
show all
Defined in:
lib/wamp/connection/session.rb

Overview

Client Session

Direct Known Subclasses

WebSocketConnection

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(joiner = Wampproto::Joiner.new("realm1")) ⇒ Session

Returns a new instance of Session.



10
11
12
13
14
15
# File 'lib/wamp/connection/session.rb', line 10

def initialize(joiner = Wampproto::Joiner.new("realm1"))
  @joiner = joiner
  @session = Wampproto::Session.new(joiner.serializer)
  @api = MessageHandler::Api.new(self)
  @store = {}
end

Instance Attribute Details

#apiObject (readonly)

Returns the value of attribute api.



7
8
9
# File 'lib/wamp/connection/session.rb', line 7

def api
  @api
end

#executorObject

Returns the value of attribute executor.



8
9
10
# File 'lib/wamp/connection/session.rb', line 8

def executor
  @executor
end

#joinerObject (readonly)

Returns the value of attribute joiner.



7
8
9
# File 'lib/wamp/connection/session.rb', line 7

def joiner
  @joiner
end

#sessionObject (readonly)

Returns the value of attribute session.



7
8
9
# File 'lib/wamp/connection/session.rb', line 7

def session
  @session
end

#storeObject (readonly)

Returns the value of attribute store.



7
8
9
# File 'lib/wamp/connection/session.rb', line 7

def store
  @store
end

#streamObject

Returns the value of attribute stream.



8
9
10
# File 'lib/wamp/connection/session.rb', line 8

def stream
  @stream
end

Instance Method Details

#on_join(&block) ⇒ Object



17
18
19
# File 'lib/wamp/connection/session.rb', line 17

def on_join(&block)
  self.executor = block
end

#on_message(data) ⇒ Object



25
26
27
28
# File 'lib/wamp/connection/session.rb', line 25

def on_message(data)
  handler = MessageHandler.resolve(data, self)
  handler.handle
end

#on_openObject



21
22
23
# File 'lib/wamp/connection/session.rb', line 21

def on_open
  stream.on_message joiner.send_hello
end

#transmit(data) ⇒ Object



30
31
32
# File 'lib/wamp/connection/session.rb', line 30

def transmit(data)
  stream.on_message data
end