Sha256: df7637c733f192a00e976d1db0d6a0ddc8f29c7c5da4454826f864a220038e80

Contents?: true

Size: 1.18 KB

Versions: 26

Compression:

Stored size: 1.18 KB

Contents

Riddle::Client::Versions[:search] = 0x116
Riddle::Client::Versions[:update] = 0x102

class Riddle::Client
  private
  
  def initialise_connection
    socket = initialise_socket

    # Send version
    socket.send [1].pack('N'), 0
    
    # Checking version
    version = socket.recv(4).unpack('N*').first
    if version < 1
      socket.close
      raise VersionError, "Can only connect to searchd version 1.0 or better, not version #{version}"
    end
    
    socket
  end
  
  def update_message(index, attributes, values_by_doc)
    message = Message.new
    
    message.append_string index
    message.append_int attributes.length
    attributes.each_with_index do |attribute, index|
      message.append_string attribute
      message.append_boolean values_by_doc.values.first[index].is_a?(Array)
    end
    
    message.append_int values_by_doc.length
    values_by_doc.each do |key,values|
      message.append_64bit_int key # document ID
      values.each do |value|
        case value
        when Array
          message.append_int value.length
          message.append_ints *value
        else
          message.append_int value
        end
      end
    end
    
    message.to_s
  end
end

Version data entries

26 entries across 26 versions & 2 rubygems

Version Path
riddle-1.5.1 lib/riddle/0.9.9/client.rb
riddle-1.5.0 lib/riddle/0.9.9/client.rb
riddle-1.4.0 lib/riddle/0.9.9/client.rb
riddle-1.3.3 lib/riddle/0.9.9/client.rb
riddle-1.3.2 lib/riddle/0.9.9/client.rb
riddle-1.3.1 lib/riddle/0.9.9/client.rb
riddle-1.3.0 lib/riddle/0.9.9/client.rb
riddle-1.2.2 lib/riddle/0.9.9/client.rb
riddle-1.2.1 lib/riddle/0.9.9/client.rb
riddle-1.2.0 lib/riddle/0.9.9/client.rb
riddle-1.1.0 lib/riddle/0.9.9/client.rb
skalee-thinking-sphinx-1.3.14.2 vendor/riddle/lib/riddle/0.9.9/client.rb
skalee-thinking-sphinx-1.3.14.1 vendor/riddle/lib/riddle/0.9.9/client.rb
riddle-1.0.12 lib/riddle/0.9.9/client.rb
riddle-1.0.11 lib/riddle/0.9.9/client.rb
riddle-1.0.10 lib/riddle/0.9.9/client.rb
riddle-1.0.9 lib/riddle/0.9.9/client.rb
riddle-1.0.8 lib/riddle/0.9.9/client.rb
riddle-1.0.7 lib/riddle/0.9.9/client.rb
riddle-1.0.6 lib/riddle/0.9.9/client.rb