Platforms to show: All Mac Windows Linux Cross-Platform
CURLSMultiMBS class
Type | Topic | Plugin | Version | macOS | Windows | Linux | iOS | Targets |
class | CURL | MBS CURL Plugin | 15.0 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | All |
- 2 events
- event TransferFinished(CURL as CURLSMBS, result as Integer, RemainingFinishedTransfers as Integer)
- event TransfersFinished
- 13 properties
- property AutoPerform as Boolean
- property Handle as Integer
- property Lasterror as Integer
- property MaxConcurrentStreams as Integer
- property MaxConnects as Integer
- property MaxHostConnections as Integer
- property MaxTotalConnections as Integer
- property Pipelining as Integer
- property RunningTransfers as Integer
- property Tag as Variant
- 5 methods
- method AddCURL(curl as CURLSMBS, handler as CURLSTransferFinishedMBS = nil) as boolean
- method CURLs as CURLSMBS()
- method Perform
- method RemoveAll
- method RemoveCURL(CURL as CURLSMBS) as boolean
- 3 shared methods
- shared method ClearSharedInstance
- shared method ErrorString(ErrorCode as Integer) as String
- shared method SharedInstance as CURLSMultiMBS
- delegate CURLSTransferFinishedMBS(curl as CURLSMBS, ErrorCode as Integer)
- 15 constants
Error Codes
Constant | Value | Description |
---|---|---|
kErrorAddedAlready | 7 |
An easy handle already added to a multi handle was attempted to get added - again. |
kErrorBadEadyHandle | 2 |
An easy handle was not good/valid. |
kErrorBadFunctionArgument | 10 |
A function was called with a bad parameter. |
kErrorBadHandle | 1 |
The passed-in handle is not a valid CURLM handle. |
kErrorBadSocket | 5 |
The passed in socket argument did not match. |
kErrorCallPerform | -1 |
Please call Perform soon to do some tasks. |
kErrorInternalError | 4 |
This is a libCURL bug. |
kErrorOK | 0 |
Everything OK. |
kErrorOutOfMemory | 3 |
Running low on memory. |
kErrorRecursiveAPICall | 8 |
An api function was called from inside an event. |
kErrorUnknownOption | 6 |
Tried to set unsupported option. |
kErrorWakeupFailure | 9 |
Wakeup is unavailable or failed. |
Pipeling options
Constant | Value | Description |
---|---|---|
kPipeHTTP1 | 1 |
Pipe with HTTP/1.1. |
kPipeMultiPlex | 2 |
Pipe with multiplex. |
kPipeNothing | 0 |
No piping. |
This class has no sub classes.
Some examples using this class:
- /CURL/ChatGPT
- /CURL/MQTT
- /CURL/Multi Transfer
- /CURL/Multi Transfer automatic
- /CURL/Receive Email/CURLS email client
- /CURL/Send Email/MassEmailer
- /CURL/Send Email/Send Email in Background async
- /CURL/SFTP/CURLS sftp batch download
- /CURL/SFTP/CURLS sftp batch upload
- /MacExtras/Sparkle/UpdaterKit/Updater Example
Blog Entries
- MBS Xojo Plugins, version 24.6pr1
- Using ChatGPT in Xojo
- News from the MBS Xojo Plugins Version 24.4
- MonkeyBread Software Releases the MBS Xojo Plugins in version 24.4
- MQTT in Xojo
- News from the MBS Xojo Plugins Version 23.2
- MonkeyBread Software Releases the MBS Xojo Plugins in version 23.2
- Easier multi transfer for our Xojo CURL Plugin
- Batch Emailer Application for Xojo as a sample project
- MonkeyBread Software Releases the MBS Xojo / Real Studio plug-ins in version 15.0
Xojo Developer Magazine
- 22.6, page 10: News
- 22.5, page 19: Xojo and MQTT, Learn about MQTT, a popular messaging transport protocol, and how you can use it in your Xojo-based apps. by Tim Dietrich
- 21.4, page 10: News
Release notes
- Version 25.0
- Deprecated ContentLengthPenaltySize, ChunkLengthPenaltySize and MaxPipelineLength properties in CURLSMultiMBS class.
- Version 24.5
- Fixed CURLSMultiMBS class, broken in 24.4.
- Version 24.4
- Added ClearSharedInstance method to CURLSMultiMBS class.
- Improved CURLSMultiMBS class to clear buffers before transfer and flush output files after transfer automatically.
- Improved CURLSMultiMBS class to clear cancel flag for CURLSMBS objects.
- Version 24.3
- Improved error handling for CURLSMultiMBS class constructor.
- Version 23.4
- Added RemoveAll method to CURLSMultiMBS class.
- Version 23.3
- Added tag property to CURLSMultiMBS and CURLSMBS classes.
- Fixed CURLSMultiMBS class to set AutoPerform to true for shared instance.
- Version 23.2
- Added new methods to CURLSMultiMBS to make asynchronous transfers easier.
- Version 23.0
- Fixed an issue for CURLSMBS class, where the LastError was not updated by Perform called on CURLSMultiMBS class.
- Version 21.1
- Changed MaxTotalConnections in CURLSMultiMBS class to 4 as default. Avoids excessive connection counts unless you change it.
The items on this page are in the following plugins: MBS CURL Plugin.
CURLSMissingFunctionExceptionMBS - CURLSNotInitializedExceptionMBS
