Sha256: 7982210b2f296a096fedd592e55f2f3ca64b6f17935092700f64a6c54da9bff2

Contents?: true

Size: 1.02 KB

Versions: 49

Compression:

Stored size: 1.02 KB

Contents

require 'redis'
$:.unshift File.join(File.dirname(__FILE__),'..','..','..','lib')
require 'rhosync'
include Rhosync
  
module Bench
  class MockClient
    include Logging
        
    def initialize(thread_id,iteration,client_id)
      @thread_id,@iteration,@client_id = thread_id,iteration,client_id
    end
    
    def parse(message)
      msg = JSON.parse(message)
      raise Exception.new("#{log_prefix} Wrong message format. Message: #{message.inspect}") if msg.size < 6
      raise Exception.new("#{log_prefix} Wrong protocol version. Message: #{message.inspect}") if msg[0]['version'] != 3
      msg.each do |p|
        insert(p['insert']) if p['insert']
        delete(p['delete']) if p['delete']
      end
    end
    
    def insert(objects)
      Store.put_data(doc_type,objects,true)
    end
    
    def delete(objects)
      Store.delete_data(doc_type,objects)
    end
  
    def verify(objects)
      Store.get_data(doc_type) == objects
    end
      
    def doc_type
      "#{@client_id.to_s}:mock:cd"
    end  

  end
end

Version data entries

49 entries across 49 versions & 1 rubygems

Version Path
rhosync-2.1.18.beta2 bench/lib/bench/mock_client.rb
rhosync-2.1.18.beta1 bench/lib/bench/mock_client.rb
rhosync-2.1.17 bench/lib/bench/mock_client.rb
rhosync-2.1.17.beta7 bench/lib/bench/mock_client.rb
rhosync-2.1.17.beta6 bench/lib/bench/mock_client.rb
rhosync-2.1.17.beta5 bench/lib/bench/mock_client.rb
rhosync-2.1.17.beta4 bench/lib/bench/mock_client.rb
rhosync-2.1.17.beta3 bench/lib/bench/mock_client.rb
rhosync-2.1.17.beta2 bench/lib/bench/mock_client.rb
rhosync-2.1.17.beta1 bench/lib/bench/mock_client.rb
rhosync-2.1.16 bench/lib/bench/mock_client.rb
rhosync-2.1.15 bench/lib/bench/mock_client.rb
rhosync-2.1.14 bench/lib/bench/mock_client.rb
rhosync-2.1.13 bench/lib/bench/mock_client.rb
rhosync-2.1.12 bench/lib/bench/mock_client.rb
rhosync-2.1.11 bench/lib/bench/mock_client.rb
rhosync-2.1.10 bench/lib/bench/mock_client.rb
rhosync-2.1.7 bench/lib/bench/mock_client.rb
rhosync-2.1.6 bench/lib/bench/mock_client.rb
rhosync-2.1.3 bench/lib/bench/mock_client.rb