LexLeo 0.0.0-dev+f8e5087-dirty
Technical documentation
Loading...
Searching...
No Matches
dynamic_buffer_stream.c File Reference

dynamic_buffer_stream adapter implementation (in-memory dynamic buffer backend). More...

Include dependency graph for dynamic_buffer_stream.c:

Go to the source code of this file.

Functions

static size_t dynamic_buffer_stream_read (void *backend, void *buf, size_t n, stream_status_t *st)
 
static stream_status_t dynamic_buffer_stream_buffer_reserve (dynamic_buffer_stream_t *dbs, size_t cap)
 
static size_t dynamic_buffer_stream_next_cap (size_t cap)
 
static size_t dynamic_buffer_stream_write (void *backend, const void *buf, size_t n, stream_status_t *st)
 
static stream_status_t dynamic_buffer_stream_flush (void *backend)
 
static stream_status_t dynamic_buffer_stream_close (void *backend)
 
static stream_status_t dynamic_buffer_stream_create_backend (dynamic_buffer_stream_t **out, const dynamic_buffer_stream_cfg_t *cfg, const dynamic_buffer_stream_env_t *env)
 
static void dynamic_buffer_stream_destroy_ud_ctor (const void *ud, const osal_mem_ops_t *mem)
 
stream_status_t dynamic_buffer_stream_create_stream (stream_t **out, const dynamic_buffer_stream_cfg_t *cfg, const dynamic_buffer_stream_env_t *env)
 Create a dynamic_buffer_stream instance directly.
 
stream_status_t dynamic_buffer_stream_ctor (const void *ud, const void *args, stream_t **out)
 Factory-compatible constructor callback for the dynamic_buffer_stream adapter.
 
stream_status_t dynamic_buffer_stream_create_desc (stream_adapter_desc_t *out, stream_key_t key, const dynamic_buffer_stream_cfg_t *cfg, const dynamic_buffer_stream_env_t *env, const osal_mem_ops_t *mem)
 Build a stream adapter descriptor for the dynamic_buffer_stream adapter.
 
dynamic_buffer_stream_cfg_t dynamic_buffer_stream_default_cfg (void)
 Return the default configuration for the dynamic_buffer_stream adapter.
 
dynamic_buffer_stream_env_t dynamic_buffer_stream_default_env (const osal_mem_ops_t *mem, const stream_env_t *port_env)
 Return the default injected environment for the dynamic_buffer_stream adapter.
 

Variables

static const stream_vtbl_t VTBL
 

Detailed Description

In-memory dynamic-buffer-backed stream adapter.

Definition in file dynamic_buffer_stream.c.

Function Documentation

◆ dynamic_buffer_stream_buffer_reserve()

static stream_status_t dynamic_buffer_stream_buffer_reserve ( dynamic_buffer_stream_t dbs,
size_t  cap 
)
static

Definition at line 69 of file dynamic_buffer_stream.c.

◆ dynamic_buffer_stream_close()

static stream_status_t dynamic_buffer_stream_close ( void *  backend)
static

Definition at line 177 of file dynamic_buffer_stream.c.

◆ dynamic_buffer_stream_create_backend()

static stream_status_t dynamic_buffer_stream_create_backend ( dynamic_buffer_stream_t **  out,
const dynamic_buffer_stream_cfg_t cfg,
const dynamic_buffer_stream_env_t env 
)
static

Definition at line 204 of file dynamic_buffer_stream.c.

◆ dynamic_buffer_stream_create_desc()

stream_status_t dynamic_buffer_stream_create_desc ( stream_adapter_desc_t out,
stream_key_t  key,
const dynamic_buffer_stream_cfg_t cfg,
const dynamic_buffer_stream_env_t env,
const osal_mem_ops_t mem 
)
Parameters
outOutput location that receives the constructed adapter descriptor on success.
keyBorrowed adapter registration key.
cfgBorrowed adapter configuration copied into descriptor-owned constructor data.
envBorrowed adapter environment copied into descriptor-owned constructor data.
memBorrowed memory operations table used to allocate the descriptor-owned constructor data.
Return values
STREAM_STATUS_OKThe descriptor was created successfully.
STREAM_STATUS_INVALIDOne or more arguments are invalid.
STREAM_STATUS_OOMMemory allocation failed.

The descriptor produced by this function is intended to be registered into a stream factory. The constructor user data allocated for that descriptor is owned by the descriptor lifecycle and must therefore use the factory memory operations.

Definition at line 313 of file dynamic_buffer_stream.c.

◆ dynamic_buffer_stream_create_stream()

stream_status_t dynamic_buffer_stream_create_stream ( stream_t **  out,
const dynamic_buffer_stream_cfg_t cfg,
const dynamic_buffer_stream_env_t env 
)
Parameters
outOutput location that receives the created stream_t * on success.
cfgBorrowed adapter configuration.
envBorrowed adapter environment.
Return values
STREAM_STATUS_OKThe stream was created successfully.
STREAM_STATUS_INVALIDOne or more arguments are invalid.
STREAM_STATUS_OOMMemory allocation failed.

Definition at line 260 of file dynamic_buffer_stream.c.

◆ dynamic_buffer_stream_ctor()

stream_status_t dynamic_buffer_stream_ctor ( const void *  ud,
const void *  args,
stream_t **  out 
)

Factory constructor callback for the dynamic_buffer_stream adapter.

Parameters
udBorrowed adapter-specific constructor user data.
argsBorrowed creation arguments expected by the adapter factory contract.
outOutput location that receives the created stream_t * on success.
Return values
STREAM_STATUS_OKThe stream was created successfully.
STREAM_STATUS_INVALIDOne or more arguments are invalid.
STREAM_STATUS_OOMMemory allocation failed.

Definition at line 287 of file dynamic_buffer_stream.c.

◆ dynamic_buffer_stream_default_cfg()

dynamic_buffer_stream_cfg_t dynamic_buffer_stream_default_cfg ( void  )
Returns
Default adapter configuration value.

Definition at line 356 of file dynamic_buffer_stream.c.

◆ dynamic_buffer_stream_default_env()

dynamic_buffer_stream_env_t dynamic_buffer_stream_default_env ( const osal_mem_ops_t mem,
const stream_env_t port_env 
)
Parameters
memBorrowed memory operations table used by the adapter backend.
port_envBorrowed stream port environment to forward to stream_create().
Returns
Default adapter environment value.

Definition at line 363 of file dynamic_buffer_stream.c.

◆ dynamic_buffer_stream_destroy_ud_ctor()

static void dynamic_buffer_stream_destroy_ud_ctor ( const void *  ud,
const osal_mem_ops_t mem 
)
static

Definition at line 248 of file dynamic_buffer_stream.c.

◆ dynamic_buffer_stream_flush()

static stream_status_t dynamic_buffer_stream_flush ( void *  backend)
static

Definition at line 171 of file dynamic_buffer_stream.c.

◆ dynamic_buffer_stream_next_cap()

static size_t dynamic_buffer_stream_next_cap ( size_t  cap)
static

Definition at line 94 of file dynamic_buffer_stream.c.

◆ dynamic_buffer_stream_read()

static size_t dynamic_buffer_stream_read ( void *  backend,
void *  buf,
size_t  n,
stream_status_t st 
)
static

Definition at line 25 of file dynamic_buffer_stream.c.

◆ dynamic_buffer_stream_write()

static size_t dynamic_buffer_stream_write ( void *  backend,
const void *  buf,
size_t  n,
stream_status_t st 
)
static

Definition at line 102 of file dynamic_buffer_stream.c.

Variable Documentation

◆ VTBL

const stream_vtbl_t VTBL
static
Initial value:
= {
}
static stream_status_t dynamic_buffer_stream_flush(void *backend)
static size_t dynamic_buffer_stream_write(void *backend, const void *buf, size_t n, stream_status_t *st)
static stream_status_t dynamic_buffer_stream_close(void *backend)
static size_t dynamic_buffer_stream_read(void *backend, void *buf, size_t n, stream_status_t *st)

Definition at line 197 of file dynamic_buffer_stream.c.