Module: TCPSumac

Defined in:
lib/tcp_sumac.rb,
lib/tcp_sumac/server.rb,
lib/tcp_sumac/adapter.rb,
lib/tcp_sumac/closed_error.rb,
lib/tcp_sumac/connection_error.rb

Defined Under Namespace

Classes: Adapter, ClosedError, ConnectionError, Server

Class Method Summary collapse

Class Method Details

.accept(duck_types: {}, entry: nil, entry_class: nil, max_message_length: Float::INFINITY, port:, workers: 1) ⇒ Object



25
26
27
28
29
30
# File 'lib/tcp_sumac.rb', line 25

def self.accept(duck_types: {}, entry: nil, entry_class: nil, max_message_length: Float::INFINITY, port: , workers: 1)
  server = listen(duck_types: duck_types, entry: entry, entry_class: entry_class, max_message_length: max_message_length, port: port, workers: workers)
  sumac = server.accept
  server.close
  sumac
end

.connect(duck_types: {}, entry: nil, host:, max_message_length: Float::INFINITY, port:, workers: 1) ⇒ Object



14
15
16
17
18
# File 'lib/tcp_sumac.rb', line 14

def self.connect(duck_types: {}, entry: nil, host: , max_message_length: Float::INFINITY, port: , workers: 1)
  messenger = TCPMessenger.connect(duck_types: duck_types, host: host, max_message_length: max_message_length, port: port)
  adapter = Adapter.new(messenger)
  Sumac.new(duck_types: duck_types, entry: entry, messenger: adapter, workers: workers)
end

.listen(duck_types: {}, entry: nil, entry_class: nil, max_message_length: Float::INFINITY, port:, workers: 1) ⇒ Object



20
21
22
23
# File 'lib/tcp_sumac.rb', line 20

def self.listen(duck_types: {}, entry: nil, entry_class: nil, max_message_length: Float::INFINITY, port: , workers: 1)
  tcp_messenger_server = TCPMessenger.listen(duck_types: duck_types, max_message_length: max_message_length, port: port)
  Server.new(tcp_messenger_server, duck_types: duck_types, entry: entry, entry_class: entry_class, max_message_length: max_message_length, workers: workers)
end