module Ethon::Multi::Stack
This module provides the multi stack behaviour.
Public Instance Methods
add(easy)
click to toggle source
Add an easy to the stack.
@example Add easy.
multi.add(easy)
@param [ Easy
] easy The easy to add.
@raise [ Ethon::Errors::MultiAdd
] If adding an easy failed.
# File lib/ethon/multi/stack.rb, line 26 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(easy)
click to toggle source
Delete an easy from stack.
@example Delete easy from stack.
@param [ Easy
] easy The easy to delete.
@raise [ Ethon::Errors::MultiRemove
] If removing an easy failed.
# File lib/ethon/multi/stack.rb, line 41 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
easy_handles()
click to toggle source
Return easy handles.
@example Return easy handles.
multi.easy_handles
@return [ Array ] The easy handles.
# File lib/ethon/multi/stack.rb, line 14 def easy_handles @easy_handles ||= [] end