Class: Terminalwire::Adapter::Socket
- Inherits:
-
Object
- Object
- Terminalwire::Adapter::Socket
- Includes:
- Logging
- Defined in:
- lib/terminalwire/adapter.rb
Overview
Works with Test, TCP, Unix, WebSocket, and other socket-like abstractions.
Constant Summary
Constants included from Logging
Instance Attribute Summary collapse
-
#transport ⇒ Object
readonly
Returns the value of attribute transport.
Instance Method Summary collapse
- #close ⇒ Object
-
#initialize(transport) ⇒ Socket
constructor
A new instance of Socket.
- #read ⇒ Object
- #write(data) ⇒ Object
Methods included from Logging
Constructor Details
#initialize(transport) ⇒ Socket
10 11 12 |
# File 'lib/terminalwire/adapter.rb', line 10 def initialize(transport) @transport = transport end |
Instance Attribute Details
#transport ⇒ Object (readonly)
Returns the value of attribute transport.
8 9 10 |
# File 'lib/terminalwire/adapter.rb', line 8 def transport @transport end |
Instance Method Details
#close ⇒ Object
29 30 31 |
# File 'lib/terminalwire/adapter.rb', line 29 def close @transport.close end |
#read ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/terminalwire/adapter.rb', line 20 def read logger.debug "Adapter: Reading" packed_data = @transport.read return nil if packed_data.nil? data = MessagePack.unpack(packed_data, symbolize_keys: true) logger.debug "Adapter: Received #{data.inspect}" data end |
#write(data) ⇒ Object
14 15 16 17 18 |
# File 'lib/terminalwire/adapter.rb', line 14 def write(data) logger.debug "Adapter: Sending #{data.inspect}" packed_data = MessagePack.pack(data, symbolize_keys: true) @transport.write(packed_data) end |