32#define _Class _URLSessionDataTask 
   48#pragma mark - URLSessionTask 
   50#define CURL_WRITEFUNC_ABORT 0 
   59    const uint8_t *bytes = (uint8_t *) 
data;
 
   60    const size_t bytesReceived = size * count;
 
   62    if (this->data == NULL) {
 
   68    this->urlSessionTask.bytesReceived += bytesReceived;
 
   80    curl_easy_setopt(self->locals.
handle, CURLOPT_WRITEDATA, self);
 
   83#pragma mark - Class lifecycle 
  105            .name = 
"URLSessionDataTask",
 
  109            .interfaceSize = 
sizeof(URLSessionDataTaskInterface),
 
ident release(ident obj)
Atomically decrement the given Object's reference count. If the resulting reference count is 0,...
Class * _initialize(const ClassDef *def)
Initializes the given Class.
#define alloc(type)
Allocate and initialize and instance of type.
#define super(type, obj, method,...)
void * ident
The identity type, similar to Objective-C id.
static size_t writeFunction(char *data, size_t size, size_t count, ident self)
The CURLOPT_WRITEFUNCTION callback.
static void initialize(Class *clazz)
Use data tasks to send and receive Data in-memory.
#define do_once(once, block)
Executes the given block at most one time.
ClassDefs are passed to _initialize via an archetype to initialize a Class.
The runtime representation of a Class.
ident interface
The interface of the Class.
Condition * init(Condition *self)
Initializes this Condition.
MutableData * data(void)
Returns a new MutableData.
void appendBytes(MutableData *self, const uint8_t *bytes, size_t length)
Appends the given bytes to this Data.
Object is the root Class of The Objectively Class hierarchy.
void dealloc(Object *self)
Frees all resources held by this Object.
Use data tasks to send and receive Data in-memory.
Class * _URLSessionDataTask(void)
The URLSessionDataTask archetype.
URL session tasks are handles to pending URL operations.
ident handle
The backing libcurl handle.
void setup(URLSessionTask *)
Sets up this task.
Class * _URLSessionTask(void)
The URLSessionTask archetype.