From d643bdb4bd5cda1bed5c8de79de456782c785dff Mon Sep 17 00:00:00 2001 From: stephanie sappho lenzo Date: Thu, 13 Jul 2023 06:11:48 -0400 Subject: inital commit --- curlthread.h | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 curlthread.h (limited to 'curlthread.h') diff --git a/curlthread.h b/curlthread.h new file mode 100644 index 0000000..ddb0c57 --- /dev/null +++ b/curlthread.h @@ -0,0 +1,49 @@ +#ifndef _INCLUDE_SOURCEMOD_EXTENSION_CURLTHREAD_H_ +#define _INCLUDE_SOURCEMOD_EXTENSION_CURLTHREAD_H_ + +#include "extension.h" +#include "curlmanager.h" +#include + + +class cURLThread : public IThread +{ + friend class cURLManager; + +public: + cURLThread(cURLHandle *_handle, cURLThread_Type _type); + ~cURLThread(); + cURLHandle *GetHandle(); + cURLThread_Type GetRunType(); + void EventSignal(); + void EventWait(); + bool IsWaiting(); + char *GetReceiveBuffer(); + void SetRecvBufferSize(unsigned int size); + void SetSenRecvAction(SendRecv_Act act); + +public: + void RunThread(IThreadHandle *pHandle); + void OnTerminate(IThreadHandle *pHandle, bool cancel); + +public: + void RunThread_Perform(); + void RunThread_Send_Recv(); + +private: + bool waiting; + cURLHandle *handle; + cURLThread_Type type; + IEventSignal *event; + char *recv_buffer; + unsigned int recv_buffer_size; + unsigned int _current_recv_buffer_size; + SendRecv_Act send_recv_act; + +public: + size_t last_iolen; +}; + + +#endif + -- cgit v1.2.3