Open CAS Framework
Open source framework of Cache Acceleration Software
Data Structures | Functions
ocf_queue.h File Reference

OCF queues API. More...

Go to the source code of this file.

Data Structures

struct  ocf_queue_ops
 I/O queue operations. More...
 

Functions

int ocf_queue_create (ocf_cache_t cache, ocf_queue_t *queue, const struct ocf_queue_ops *ops)
 Allocate IO queue and add it to list in cache. More...
 
void ocf_queue_get (ocf_queue_t queue)
 Increase reference counter in queue. More...
 
void ocf_queue_put (ocf_queue_t queue)
 Decrease reference counter in queue. More...
 
void ocf_queue_run_single (ocf_queue_t q)
 Process single request from queue. More...
 
void ocf_queue_run (ocf_queue_t q)
 Run queue processing. More...
 
void ocf_queue_set_priv (ocf_queue_t q, void *priv)
 Set queue private data. More...
 
void * ocf_queue_get_priv (ocf_queue_t q)
 Get queue private data. More...
 
uint32_t ocf_queue_pending_io (ocf_queue_t q)
 Get number of pending requests in I/O queue. More...
 
ocf_cache_t ocf_queue_get_cache (ocf_queue_t q)
 Get cache instance to which I/O queue belongs. More...
 

Detailed Description

OCF queues API.

Function Documentation

◆ ocf_queue_create()

int ocf_queue_create ( ocf_cache_t  cache,
ocf_queue_t queue,
const struct ocf_queue_ops ops 
)

Allocate IO queue and add it to list in cache.

Parameters
[in]cacheHandle to cache instance
[out]queueHandle to created queue
[in]opsQueue operations
Returns
Zero on success, otherwise error code

◆ ocf_queue_get()

void ocf_queue_get ( ocf_queue_t  queue)

Increase reference counter in queue.

Parameters
[in]queueQueue

◆ ocf_queue_get_cache()

ocf_cache_t ocf_queue_get_cache ( ocf_queue_t  q)

Get cache instance to which I/O queue belongs.

Parameters
[in]qI/O queue
Return values
Cacheinstance

◆ ocf_queue_get_priv()

void* ocf_queue_get_priv ( ocf_queue_t  q)

Get queue private data.

Parameters
[in]qI/O queue
Return values
I/Oqueue private data

◆ ocf_queue_pending_io()

uint32_t ocf_queue_pending_io ( ocf_queue_t  q)

Get number of pending requests in I/O queue.

Parameters
[in]qI/O queue
Return values
Numberof pending requests in I/O queue

◆ ocf_queue_put()

void ocf_queue_put ( ocf_queue_t  queue)

Decrease reference counter in queue.

Note
If queue don't have any reference - deallocate it
Parameters
[in]queueQueue

◆ ocf_queue_run()

void ocf_queue_run ( ocf_queue_t  q)

Run queue processing.

Parameters
[in]qQueue to run

◆ ocf_queue_run_single()

void ocf_queue_run_single ( ocf_queue_t  q)

Process single request from queue.

Parameters
[in]qQueue to run

◆ ocf_queue_set_priv()

void ocf_queue_set_priv ( ocf_queue_t  q,
void *  priv 
)

Set queue private data.

Parameters
[in]qI/O queue
[in]privPrivate data