|
cwist
Modern C web framework with libttak runtime
|
Refcount-free cached response blob, reclaimed via libttak EBR. More...
#include <big_dumb_reply.h>
Public Attributes | |
| void * | mem |
| Backing allocation (this object for learned blobs). | |
| void(* | free_fn )(void *) |
Releaser for mem. | |
| size_t | len |
Length of data in bytes. | |
| const unsigned char * | data |
| Serialized HTTP response (headers + body). | |
Refcount-free cached response blob, reclaimed via libttak EBR.
Readers hold the blob between cwist_bdr_get_pinned() and cwist_bdr_unpin(); writers replace it with a single atomic exchange and retire the predecessor across an epoch boundary, so a swapped-out blob is never freed while a reader still serves it. mem is the backing allocation released with free_fn (cwist_free for internally learned blobs, a user-supplied releaser for callback-provided buffers).
Definition at line 26 of file big_dumb_reply.h.
Serialized HTTP response (headers + body).
Definition at line 30 of file big_dumb_reply.h.
Releaser for mem.
Definition at line 28 of file big_dumb_reply.h.
| size_t bdr_blob_t::len |
Length of data in bytes.
Definition at line 29 of file big_dumb_reply.h.
| void* bdr_blob_t::mem |
Backing allocation (this object for learned blobs).
Definition at line 27 of file big_dumb_reply.h.