class Protobuf::Rpc::Stat
def client
def client @client ? "#{@client[:ip]}:#{@client[:port]}" : nil end
def client=(peer)
def client=(peer) @client = {:port => peer[0], :ip => peer[1]} end
def client?
def client? @mode == :CLIENT end
def elapsed_time
def elapsed_time (start_time && end_time ? "#{(end_time - start_time).round(4)}s" : nil) end
def initialize(mode = :SERVER)
def initialize(mode = :SERVER) @mode = mode start end
def method
def method @method ||= @dispatcher.try(:callable_method).try(:name) end
def rpc
def rpc service && method ? "#{service}##{method}" : nil end
def server
def server @server ? "#{@server[:ip]}:#{@server[:port]}" : nil end
def server=(peer)
def server=(peer) @server = {:port => peer[0], :ip => peer[1]} end
def server?
def server? @mode == :SERVER end
def service
def service @service ||= @dispatcher.try(:service).class.name end
def sizes
def sizes "#{@request_size || 0}B/#{@response_size || 0}B" end
def start
def start @start_time ||= Time.now end
def stop
def stop start if !@start_time @end_time ||= Time.now end
def to_s
def to_s [ server? ? "[SRV]" : "[CLT]", rpc, elapsed_time, sizes, server? ? server : client ].compact.join(' - ') end