Sha256: 7c4c1a493435cf7e7cbb986c569e174647489863143df98f272de2859fcfc761

Contents?: true

Size: 790 Bytes

Versions: 2

Compression:

Stored size: 790 Bytes

Contents

require 'fastdfs-client/storage'

module Fastdfs
  module Client

    class Tracker
      
      attr_accessor :options, :socket

      def initialize(host, port, options = {})
        @options = options
        @proxy = ClientProxy.new(host, port, @options[:socket])
        @socket = @proxy.socket
        @cmd = CMD::STORE_WITHOUT_GROUP_ONE
      end

      def get_storage
        res = @proxy.dispose(@cmd) do |body|
          storage_ip = body[ProtoCommon::IPADDR].strip
          storage_port = body[ProtoCommon::PORT].unpack("C*").to_pack_long
          store_path = body[ProtoCommon::TRACKER_BODY_LEN-1].unpack("C*")[0]
        
          Storage.new(storage_ip, storage_port, store_path, @options)
        end
        res[:status] ? res[:result] : res
      end
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fastdfs-client-1.4.1 lib/fastdfs-client/tracker.rb
fastdfs-client-1.4.0 lib/fastdfs-client/tracker.rb