Module: FFWD::Plugin::JSON

Includes:
Logging, FFWD::Plugin
Defined in:
lib/ffwd/plugin/json.rb,
lib/ffwd/plugin/json/connection.rb

Defined Under Namespace

Modules: Connection Classes: FrameConnection, LineConnection

Constant Summary collapse

DEFAULT_HOST =
"localhost"
DEFAULT_PORT =
19000
DEFAULT_PROTOCOL =
"tcp"
KINDS =
{
  :frame => FrameConnection,
  :line => LineConnection,
}

Class Method Summary collapse

Methods included from Logging

included, #log

Methods included from FFWD::Plugin

category, discovered, included, load_discovered, load_plugins, loaded, option

Class Method Details

.setup_input(opts, core) ⇒ Object



75
76
77
78
79
80
81
82
83
84
85
# File 'lib/ffwd/plugin/json.rb', line 75

def self.setup_input opts, core
  opts[:host] ||= DEFAULT_HOST
  opts[:port] ||= DEFAULT_PORT
  protocol = FFWD.parse_protocol(opts[:protocol] || DEFAULT_PROTOCOL)
  kind = opts[:kind] || :line
  unless connection = KINDS[kind]
    raise "No such kind: #{kind}"
  end

  protocol.bind opts, core, log, connection
end

.setup_tunnel(opts, core, tunnel) ⇒ Object



87
88
89
90
91
92
93
94
95
96
# File 'lib/ffwd/plugin/json.rb', line 87

def self.setup_tunnel opts, core, tunnel
  opts[:port] ||= DEFAULT_PORT
  protocol = FFWD.parse_protocol(opts[:protocol] || "tcp")
  kind = opts[:kind] || :line
  unless connection = KINDS[kind]
    raise "No such kind: #{kind}"
  end

  protocol.tunnel opts, core, tunnel, log, connection
end