Serene Runtime 1.0.0
C runtime for the Serene programming language
Loading...
Searching...
No Matches
srn_block_t Struct Reference

#include <interface.h>

Collaboration diagram for srn_block_t:
[legend]

Data Fields

srn_spinlock_t lock
 This lock will protect only the block level operations and NOT the memory manager.
 
struct srn_block_tnext
 when the block does not have space to allocate a request, we will allocate a new block and point to it here, a simple link list.
 
size_t size
 This is the TOTAL size of the block, header + payloud.
 
size_t offset
 Offset from the base.
 
uint8_t base []
 Where the data area starts.
 

Detailed Description

Definition at line 74 of file interface.h.

Field Documentation

◆ base

uint8_t srn_block_t::base[]

Where the data area starts.

Definition at line 93 of file interface.h.

◆ lock

srn_spinlock_t srn_block_t::lock

This lock will protect only the block level operations and NOT the memory manager.

We lock only the root block when operating on block chains. Intermediate blocks considered as part of the root block.

Definition at line 79 of file interface.h.

◆ next

struct srn_block_t* srn_block_t::next

when the block does not have space to allocate a request, we will allocate a new block and point to it here, a simple link list.

Definition at line 83 of file interface.h.

◆ offset

size_t srn_block_t::offset

Offset from the base.

Definition at line 91 of file interface.h.

◆ size

size_t srn_block_t::size

This is the TOTAL size of the block, header + payloud.

Basically the same as srn_mm_t.block_size. We have a copy here just for a few cases that one might use a block outside of the memory manager.

Definition at line 88 of file interface.h.


The documentation for this struct was generated from the following file: