initial checkin of TclCurl
This commit is contained in:
57
tests/multi/double.tcl
Executable file
57
tests/multi/double.tcl
Executable file
@ -0,0 +1,57 @@
|
||||
package require TclCurl
|
||||
|
||||
|
||||
proc Perform {multiHandle} {
|
||||
if {[catch {$multiHandle active} activeTransfers]} {
|
||||
puts "Error checking active transfers: $activeTransfers"
|
||||
return -1
|
||||
}
|
||||
if {[catch {$multiHandle perform} running]} {
|
||||
puts "Error: $running"
|
||||
return 1
|
||||
}
|
||||
return $running
|
||||
}
|
||||
|
||||
proc StartTransfer {multiHandle} {
|
||||
while {1==1} {
|
||||
set runningTransfers [Perform $multiHandle]
|
||||
if {$runningTransfers>0} {
|
||||
after 500
|
||||
} else {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
puts "We create and configure the easy handles"
|
||||
|
||||
set curlEasyHandle1 [curl::init]
|
||||
set curlEasyHandle2 [curl::init]
|
||||
|
||||
$curlEasyHandle1 configure -url http://127.0.0.1/~andres/ -file index.html
|
||||
$curlEasyHandle2 configure -url http://127.0.0.1/ -file index2.html
|
||||
|
||||
puts "Creating the multi handle"
|
||||
|
||||
set curlMultiHandle [curl::multiinit]
|
||||
|
||||
puts "Adding easy handles to the multi one"
|
||||
|
||||
$curlMultiHandle addhandle $curlEasyHandle1
|
||||
$curlMultiHandle addhandle $curlEasyHandle2
|
||||
|
||||
puts "We start the transfer"
|
||||
|
||||
StartTransfer $curlMultiHandle
|
||||
|
||||
puts "Transfer done, cleanning up"
|
||||
|
||||
$curlMultiHandle removehandle $curlEasyHandle1
|
||||
$curlMultiHandle removehandle $curlEasyHandle2
|
||||
|
||||
$curlMultiHandle cleanup
|
||||
$curlEasyHandle1 cleanup
|
||||
$curlEasyHandle2 cleanup
|
||||
|
||||
|
Reference in New Issue
Block a user