module Envoy::Client::Channel
Public Class Methods
new(id, client)
click to toggle source
Calls superclass method
# File lib/envoy/client/channel.rb, line 8 def initialize id, client @id, @client = id, client @buffer = "" super() end
Public Instance Methods
connection_completed()
click to toggle source
# File lib/envoy/client/channel.rb, line 14 def connection_completed @client.log TRACE, "connected to upstream service for stream #{@id}" @tried_starting = nil send_data @buffer, true @buffer = nil end
receive_data(data)
click to toggle source
# File lib/envoy/client/channel.rb, line 29 def receive_data data @client.log TRACE, "#{data.length} bytes of data send on stream #{@id}" @client.send_object :stream, @id, data end
reconnect()
click to toggle source
Calls superclass method
# File lib/envoy/client/channel.rb, line 34 def reconnect @client.log TRACE, "reconnecting to upstream service for stream #{@id}" super @client.options[:local_host], @client.options[:local_port] end
send_data(data, force = false)
click to toggle source
Calls superclass method
# File lib/envoy/client/channel.rb, line 21 def send_data data, force = false if !@buffer or force super data else @buffer << data end end
unbind(e)
click to toggle source
# File lib/envoy/client/channel.rb, line 39 def unbind e if e == Errno::ECONNREFUSED @client.log ERROR, "couldn't connect to upstream service for stream #{@id}" @client.send_object :close, @id elsif e @client.log ERROR, e.inspect @client.send_object :close, @id else @client.log DEBUG, "upstream service closed stream #{@id}" @client.send_object :close, @id end end