Loading...
Searching...
No Matches
osmo_wqueue Struct Reference
Osmocom msgb write queues

write queue instance More...

`#include <write_queue.h>`

## Data Fields

struct osmo_fd | bfd
| osmocom file descriptor
unsigned int | max_length
| maximum length of write queue
unsigned int | current_length
| current length of write queue
struct llist_head | msg_queue
| actual linked list implementing the queue
int(* | read_cb )(struct osmo_fd *fd)
| call-back in case qeueue is readable.
int(* | write_cb )(struct osmo_fd *fd, struct msgb *msg)
| call-back in case qeueue is writable.
int(* | except_cb )(struct osmo_fd *fd)
| call-back in case qeueue has exceptions.

## Detailed Description

write queue instance

## Field Documentation

## bfd

struct osmo_fd osmo_wqueue::bfd

osmocom file descriptor

Referenced by _file_raw_output(), gsmtap_inst_fd2(), log_target_create_file(), log_target_destroy(), log_target_file_reopen(), log_target_file_switch_to_stream(), log_target_file_switch_to_wqueue(), osmo_tundev_alloc(), osmo_tundev_close(), osmo_tundev_get_fd(), osmo_tundev_open(), osmo_wqueue_bfd_cb(), osmo_wqueue_clear(), osmo_wqueue_enqueue_quiet(), osmo_wqueue_init(), tundev_decaps(), and tundev_write_cb().

## current_length

unsigned int osmo_wqueue::current_length

current length of write queue

Referenced by _file_raw_output(), osmo_wqueue_bfd_cb(), osmo_wqueue_clear(), osmo_wqueue_enqueue(), osmo_wqueue_enqueue_quiet(), osmo_wqueue_init(), and osmo_wqueue_set_maxlen().

## except_cb

int(* osmo_wqueue::except_cb) (struct osmo_fd *fd)

call-back in case qeueue has exceptions.

Return -EBADF if fd is freed inside cb.

Referenced by osmo_wqueue_bfd_cb(), and osmo_wqueue_init().

## max_length

unsigned int osmo_wqueue::max_length

maximum length of write queue

Referenced by osmo_wqueue_enqueue(), osmo_wqueue_enqueue_quiet(), osmo_wqueue_init(), and osmo_wqueue_set_maxlen().

## msg_queue

struct llist_head osmo_wqueue::msg_queue

actual linked list implementing the queue

Referenced by log_target_file_switch_to_stream(), osmo_wqueue_bfd_cb(), osmo_wqueue_clear(), osmo_wqueue_enqueue_quiet(), osmo_wqueue_init(), and osmo_wqueue_set_maxlen().

## read_cb

int(* osmo_wqueue::read_cb) (struct osmo_fd *fd)

call-back in case qeueue is readable.

Return -EBADF if fd is freed inside cb.

Referenced by osmo_tundev_alloc(), osmo_wqueue_bfd_cb(), and osmo_wqueue_init().

## write_cb

int(* osmo_wqueue::write_cb) (struct osmo_fd *fd, struct msgb *msg)

call-back in case qeueue is writable.

Return -EBADF if fd is freed inside cb.

Referenced by log_target_create_file(), log_target_file_switch_to_wqueue(), osmo_tundev_alloc(), osmo_wqueue_bfd_cb(), and osmo_wqueue_init().

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

- include/osmocom/core/write_queue.h