Module: Backport
- Defined in:
- lib/backport.rb,
lib/backport/client.rb,
lib/backport/server.rb,
lib/backport/adapter.rb,
lib/backport/machine.rb,
lib/backport/version.rb,
lib/backport/server/base.rb,
lib/backport/server/stdio.rb,
lib/backport/server/tcpip.rb,
lib/backport/server/interval.rb,
lib/backport/server/connectable.rb
Overview
An event-driven IO library.
Defined Under Namespace
Modules: Server Classes: Adapter, Client, Machine
Constant Summary collapse
- VERSION =
'1.2.0'.freeze
Class Method Summary collapse
- .logger ⇒ Logger
-
.prepare_interval(period, &block) ⇒ void
Prepare an interval server to run in Backport.
-
.prepare_stdio_server(adapter: Adapter) ⇒ void
Prepare a STDIO server to run in Backport.
-
.prepare_tcp_server(host: 'localhost', port: 1117, adapter: Adapter) ⇒ void
Prepare a TCP server to run in Backport.
-
.run(&block) ⇒ void
Run the Backport machine.
-
.stop ⇒ void
Stop all running Backport machines.
Class Method Details
.logger ⇒ Logger
75 76 77 |
# File 'lib/backport.rb', line 75 def logger @logger ||= Logger.new(STDERR, level: Logger::WARN, progname: 'Backport') end |
.prepare_interval(period, &block) ⇒ void
This method returns an undefined value.
Prepare an interval server to run in Backport.
35 36 37 |
# File 'lib/backport.rb', line 35 def prepare_interval period, &block machines.last.prepare Backport::Server::Interval.new(period, &block) end |
.prepare_stdio_server(adapter: Adapter) ⇒ void
This method returns an undefined value.
Prepare a STDIO server to run in Backport.
17 18 19 |
# File 'lib/backport.rb', line 17 def prepare_stdio_server adapter: Adapter machines.last.prepare Backport::Server::Stdio.new(adapter: adapter) end |
.prepare_tcp_server(host: 'localhost', port: 1117, adapter: Adapter) ⇒ void
This method returns an undefined value.
Prepare a TCP server to run in Backport.
27 28 29 |
# File 'lib/backport.rb', line 27 def prepare_tcp_server host: 'localhost', port: 1117, adapter: Adapter machines.last.prepare Backport::Server::Tcpip.new(host: host, port: port, adapter: adapter) end |
.run(&block) ⇒ void
This method returns an undefined value.
Run the Backport machine. The provided block will be executed before the machine starts. Program execution is blocked until the machine stops.
50 51 52 53 54 55 |
# File 'lib/backport.rb', line 50 def run &block machine = Machine.new machines.push machine machine.run &block machines.delete machine end |
.stop ⇒ void
This method returns an undefined value.
Stop all running Backport machines.
For more accurate control, consider stopping the machine from the self reference in Machine#run, e.g.:
“‘ Backport.run do |machine|
# ...
machine.stop
end “‘
70 71 72 |
# File 'lib/backport.rb', line 70 def stop machines.last.stop unless machines.empty? end |