Sha256: 0cb7cb296e76b33e2e65ef3eb1c5a3d32a167c4bcb0c478ef478f29c7eaae8cf
Contents?: true
Size: 1.2 KB
Versions: 48
Compression:
Stored size: 1.2 KB
Contents
require 'protobuf/rpc/server' module Protobuf module Rpc module Evented class Server < ::EventMachine::Connection include ::Protobuf::Rpc::Server include ::Protobuf::Logger::LogMethods # Initialize a new read buffer for storing client request info def post_init initialize_request! @request_buffer = Protobuf::Rpc::Buffer.new(:read) end # Receive a chunk of data, potentially flushed to handle_client def receive_data(data) log_debug { sign_message("receive_data: #{data}") } @request_buffer << data @request_data = @request_buffer.data @stats.request_size = @request_buffer.size handle_client if @request_buffer.flushed? end def send_data response_buffer = Protobuf::Rpc::Buffer.new(:write) response_buffer.set_data(@response) @stats.response_size = response_buffer.size log_debug { sign_message("sending data: #{response_buffer.inspect}") } super(response_buffer.write) end def set_peer @stats.client = ::Socket.unpack_sockaddr_in(get_peername) end end end end end
Version data entries
48 entries across 48 versions & 1 rubygems