Parent

Sphinx::Request

Pack ints, floats, strings, and arrays to internal representation needed by Sphinx search engine.

Public Class Methods

new() click to toggle source

Initialize new request.

# File lib/sphinx/request.rb, line 6
def initialize
  @request = ''
end

Public Instance Methods

put_float(*floats) click to toggle source

Put float(s) to request.

# File lib/sphinx/request.rb, line 26
def put_float(*floats)
  floats.each do |f|
    t1 = [f].pack('f') # machine order
    t2 = t1.unpack('L*').first # int in machine order
    @request << [t2].pack('N')
  end
end
put_int(*ints) click to toggle source

Put int(s) to request.

# File lib/sphinx/request.rb, line 11
def put_int(*ints)
  ints.each { |i| @request << [i].pack('N') }
end
put_int64(*ints) click to toggle source

Put 64-bit int(s) to request.

# File lib/sphinx/request.rb, line 16
def put_int64(*ints)
  ints.each { |i| @request << [i].pack('q').reverse }#[i >> 32, i & ((1 << 32) - 1)].pack('NN') }
end
put_int64_array(arr) click to toggle source

Put array of 64-bit ints to request (first length, then the array itself)

# File lib/sphinx/request.rb, line 40
def put_int64_array(arr)
  put_int arr.length
  put_int64(*arr)
end
put_int_array(arr) click to toggle source

Put array of ints to request (first length, then the array itself)

# File lib/sphinx/request.rb, line 35
def put_int_array(arr)
  put_int arr.length, *arr
end
put_string(*strings) click to toggle source

Put string(s) to request (first length, then the string itself).

# File lib/sphinx/request.rb, line 21
def put_string(*strings)
  strings.each { |s| @request << [s.length].pack('N') + s }
end
to_s() click to toggle source

Returns the entire message

# File lib/sphinx/request.rb, line 46
def to_s
  @request
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.