Sha256: fa4fa232832f1214ffb63908ddc1910379031ba31aeeef59af8dc8f7157f0439

Contents?: true

Size: 1.15 KB

Versions: 3

Compression:

Stored size: 1.15 KB

Contents

# Author::    Nicolas Despres  <nicolas.despres@gmail.com>.
# Copyright:: Copyright (c) 2004, 2005 TTK team. All rights reserved.
# License::   LGPL
# $Id: receiver.rb 567 2005-04-13 08:00:06Z polrop $


require 'dtime'
require 'md5'


module TTK

  module Fetchers

    class Client

      class Receiver
        include DRb::DRbUndumped

        def initialize(resource)
          @resource = resource
          @file = @resource.open('w')
          @md5sum = Digest::MD5.new
          @t0 = Time.now
          @success = nil
        end

        attr_reader :resource

        def recv(str)
          @md5sum << str
          @file.write(str)
        end

        def stop(md5sum)
          @file.close
          @enlapsed_time = DTime.new(Time.now - @t0)
          @success = (@md5sum.to_s == md5sum)
        end

        def stat
          unless @success.nil?
            {
              :resource => @resource,
              :enlapsed_time => @enlapsed_time,
              :md5sum => @md5sum.to_s,
              :success => @success
            }
          end
        end

      end # class Receiver

    end # class Client

  end # module Fetchers

end # module TTK




Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ttk-0.1.576 lib/ttk/fetchers/client/receiver.rb
ttk-0.1.580 lib/ttk/fetchers/client/receiver.rb
ttk-0.1.579 lib/ttk/fetchers/client/receiver.rb