Class: Encom::ServerTransport::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/encom/server_transport/base.rb

Direct Known Subclasses

Stdio

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(server, options = {}) ⇒ Base

Returns a new instance of Base.



8
9
10
11
12
# File 'lib/encom/server_transport/base.rb', line 8

def initialize(server, options = {})
  @server = server
  @options = options
  @debug = options[:debug] || false
end

Instance Attribute Details

#serverObject (readonly)

Returns the value of attribute server.



6
7
8
# File 'lib/encom/server_transport/base.rb', line 6

def server
  @server
end

Instance Method Details

#debug(message) ⇒ Object

Log debug information if debug is enabled



35
36
37
38
39
# File 'lib/encom/server_transport/base.rb', line 35

def debug(message)
  return unless @debug

  warn "[Encom::ServerTransport] #{message}"
end

#process_message(message) ⇒ Object

Process an incoming message - default implementation delegates to server



30
31
32
# File 'lib/encom/server_transport/base.rb', line 30

def process_message(message)
  @server.process_message(message)
end

#send_message(message) ⇒ Object

Send a message through the transport - must be implemented by subclasses

Raises:

  • (NotImplementedError)


25
26
27
# File 'lib/encom/server_transport/base.rb', line 25

def send_message(message)
  raise NotImplementedError, 'Subclasses must implement #send_message'
end

#startObject

Start the transport - must be implemented by subclasses

Raises:

  • (NotImplementedError)


15
16
17
# File 'lib/encom/server_transport/base.rb', line 15

def start
  raise NotImplementedError, 'Subclasses must implement #start'
end

#stopObject

Stop the transport - must be implemented by subclasses

Raises:

  • (NotImplementedError)


20
21
22
# File 'lib/encom/server_transport/base.rb', line 20

def stop
  raise NotImplementedError, 'Subclasses must implement #stop'
end