Sha256: 2f9143162440e96e8cab2d2b4fc9d770817f30d272cba8b078952a02bd339c0f

Contents?: true

Size: 1.1 KB

Versions: 66

Compression:

Stored size: 1.1 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
      end
    end
  end
end

Version data entries

66 entries across 66 versions & 1 rubygems

Version Path
protobuf-2.7.12 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta9-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta9 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta8-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta8 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta6-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta6 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta5-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta5 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta4-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta4 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta3-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta3 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta2-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta2 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.7.11-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.7.11 lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta1-java lib/protobuf/rpc/servers/evented/server.rb
protobuf-2.8.0.beta1 lib/protobuf/rpc/servers/evented/server.rb