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

Version Path
protobuf-2.5.0-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.5.0 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.8-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.8 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.7-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.7 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.6 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.5-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.5 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.4-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.4 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.3-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.3 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.3.rc1 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.2-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.2 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.1-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.1 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.0-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.4.0 lib/protobuf/rpc/servers/evented/server.rb