Sha256: a44276a690fbbbd4d54fb2101cf7a84c4052157b99259665ddc601704c9f7cca
Contents?: true
Size: 1.21 KB
Versions: 3
Compression:
Stored size: 1.21 KB
Contents
module Ethon class Multi # This module provides the multi stack behaviour. module Stack # Return easy handles. # # @example Return easy handles. # multi.easy_handles # # @return [ Array ] The easy handles. def easy_handles @easy_handles ||= [] end # Add an easy to the stack. # # @example Add easy. # multi.add(easy) # # @param [ Easy ] easy The easy to add. # # @raise [Ethon::Errors::MultiAdd] when adding an easy failed. def add(easy) return nil if easy_handles.include?(easy) code = Curl.multi_add_handle(handle, easy.handle) raise Errors::MultiAdd.new(code, easy) unless code == :ok easy_handles << easy end # Delete an easy from stack. # # @example Delete easy from stack. # # @param [ Easy ] easy The easy to delete. # # @raise [Ethon::Errors::MultiRemove] when removing an easy failed. def delete(easy) if easy_handles.delete(easy) code = Curl.multi_remove_handle(handle, easy.handle) raise Errors::MultiRemove.new(code, handle) unless code == :ok end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ethon-0.5.0 | lib/ethon/multi/stack.rb |
ethon-0.4.4 | lib/ethon/multi/stack.rb |
ethon-0.4.3 | lib/ethon/multi/stack.rb |