Sha256: fd794a49cafa291cb56468a885bab6113875a482d5a3dcafd3a0a5ca3d0ff871

Contents?: true

Size: 791 Bytes

Versions: 3

Compression:

Stored size: 791 Bytes

Contents

require 'riakpb'

module Riakpb
  module Util
    
    module Encode
      
      # Construct a Request Message for Riakpb, which adheres to the following structure:
      #
      #   00 00 00 07 09 0A 01 62 12 01 6B
      #   |----Len---|MC|----Message-----|
      #
      # @raise [TypeError] if an invalid hostname is given
      # @return [String] the assigned hostname
      def assemble_request(mc, msg='')
        raise TypeError, t("message_code_invalid")  unless mc.is_a?(Fixnum)
        raise TypeError, t("pb_message_invalid")    unless msg.is_a?(String)
        
        encode_message mc, msg
      end
      
      def encode_message(mc, msg='')
        message = [mc].pack('c') + msg
        
        message = [message.size].pack('N') + message
      end

    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
riakpb-0.3.0 lib/riakpb/util/encode.rb
riakpb-0.2.3 lib/riakpb/util/encode.rb
riakpb-0.2.2 lib/riakpb/util/encode.rb