Skip to content

Commit 7ee2bbc

Browse files
udpard_make_deleter
1 parent deb3d45 commit 7ee2bbc

2 files changed

Lines changed: 9 additions & 6 deletions

File tree

libudpard/udpard.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,6 @@ static void mem_free_payload(const udpard_deleter_t memory, const udpard_bytes_m
115115
}
116116
}
117117

118-
static udpard_deleter_t mem_make_deleter(const udpard_mem_t memory)
119-
{
120-
return (udpard_deleter_t){ .vtable = &memory.vtable->base, .context = memory.context };
121-
}
122-
123118
static byte_t* serialize_u32(byte_t* ptr, const uint32_t value)
124119
{
125120
for (size_t i = 0; i < sizeof(value); i++) {
@@ -161,6 +156,11 @@ static const byte_t* deserialize_u64(const byte_t* ptr, uint64_t* const out_valu
161156
// NOLINTNEXTLINE(clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling)
162157
static void mem_zero(const size_t size, void* const data) { (void)memset(data, 0, size); }
163158

159+
udpard_deleter_t udpard_make_deleter(const udpard_mem_t memory)
160+
{
161+
return (udpard_deleter_t){ .vtable = &memory.vtable->base, .context = memory.context };
162+
}
163+
164164
bool udpard_is_valid_endpoint(const udpard_udpip_ep_t ep)
165165
{
166166
return (ep.port != 0) && (ep.ip != 0) && (ep.ip != UINT32_MAX);
@@ -566,7 +566,7 @@ static tx_frame_t* tx_frame_new(udpard_tx_t* const tx, const udpard_mem_t mem, c
566566
tx_frame_t* const frame = (tx_frame_t*)mem_alloc(mem, sizeof(tx_frame_t) + data_size);
567567
if (frame != NULL) {
568568
frame->refcount = 1U;
569-
frame->deleter = mem_make_deleter(mem);
569+
frame->deleter = udpard_make_deleter(mem);
570570
frame->objcount = &tx->enqueued_frames_count;
571571
frame->next = NULL;
572572
frame->size = data_size;

libudpard/udpard.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,9 @@ struct udpard_mem_t
233233
void* context;
234234
};
235235

236+
/// A helper that upcasts a memory resource into a deleter.
237+
udpard_deleter_t udpard_make_deleter(const udpard_mem_t memory);
238+
236239
/// This type represents payload as a binary tree of its fragments ordered by offset to eliminate data copying.
237240
/// The fragments are guaranteed to be non-redundant and non-overlapping; therefore, they are also ordered by their
238241
/// end offsets. See the helper functions below for managing the fragment tree.

0 commit comments

Comments
 (0)