Sha256: 83dcb01a81c080861279dd91b6a6e3d0b1d2f67b9eb5f2fa0746dd33f4abd94e

Contents?: true

Size: 529 Bytes

Versions: 8

Compression:

Stored size: 529 Bytes

Contents

require 'eventmachine'
require 'bert'

module Envoy

  module Protocol
    include EM::P::ObjectProtocol
    
    module Serializer
      def self.dump(object)
        BERT.encode(object)
      end
      def self.load(data)
        BERT.decode(data)
      end
    end
    
    def serializer
      Serializer
    end
    
    def send_object *args
      super(args.size > 1 ? BERT::Tuple[*args] : args[0])
    end
    
    def receive_object ((command, *args))
      __send__("receive_#{command}", *args)
    end
    
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
envoy-proxy-1.0.3 lib/envoy/protocol.rb
envoy-proxy-1.0.1 lib/envoy/protocol.rb
envoy-proxy-1.0.0 lib/envoy/protocol.rb
envoy-proxy-0.2.0 lib/envoy/protocol.rb
envoy-proxy-0.1.5 lib/envoy/protocol.rb
envoy-proxy-0.1.4 lib/envoy/protocol.rb
envoy-proxy-0.1.3 lib/envoy/protocol.rb
envoy-proxy-0.1.2 lib/envoy/protocol.rb