Class: DRb::DRbWebSocket::Server
- Inherits:
-
Object
- Object
- DRb::DRbWebSocket::Server
- Defined in:
- lib/drb/drb_websocket.rb
Instance Attribute Summary collapse
-
#uri ⇒ Object
readonly
Returns the value of attribute uri.
Instance Method Summary collapse
- #accept(&block) ⇒ Object
- #close ⇒ Object
-
#initialize(uri, config) ⇒ Server
constructor
A new instance of Server.
- #reconnect ⇒ Object
Constructor Details
#initialize(uri, config) ⇒ Server
Returns a new instance of Server.
101 102 103 104 105 106 |
# File 'lib/drb/drb_websocket.rb', line 101 def initialize(uri, config) uuid = SecureRandom.uuid @uri = "#{uri}/#{uuid}" @config = config reconnect end |
Instance Attribute Details
#uri ⇒ Object (readonly)
Returns the value of attribute uri.
99 100 101 |
# File 'lib/drb/drb_websocket.rb', line 99 def uri @uri end |
Instance Method Details
#accept(&block) ⇒ Object
134 135 136 |
# File 'lib/drb/drb_websocket.rb', line 134 def accept(&block) @accepter = block end |
#close ⇒ Object
108 109 110 |
# File 'lib/drb/drb_websocket.rb', line 108 def close @ws.close end |
#reconnect ⇒ Object
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/drb/drb_websocket.rb', line 112 def reconnect @ws.close if @ws @ws = WasmDRb::WebSocket.new(@uri) @ws.onclose do reconnect end @ws. do |event| = event.data.to_s sender_id = .slice(0, 36) = .slice(36, .length - 36) stream = StrStream.new() server_side = ServerSide.new(stream, @config, uri) @accepter.call server_side send_data = WasmDRb::ArrayBuffer.new(sender_id.bytes + server_side.reply.bytes) @ws.send(send_data) end end |