net/scheduler.h header reference
[Abstract network stack module]

The source code of this header can be browsed online.

Description [link] 

this header contains all relevant declarations about Network stack scheduler.

Members [link] 

Types [link] 

Functions [link] 

Members detail [link] 

#define GCT_CONTAINER_ALGO_net_timeout_queue [link] 

This macro is declared in net/scheduler.h source file, line 46.

#define GCT_CONTAINER_LOCK_net_timeout_queue [link] 

This macro is declared in net/scheduler.h source file, line 47.

#define NET_SCHEDULER_H [link] 

This macro is declared in net/scheduler.h source file, line 21.

struct buffer_s * net_layer_packet_alloc(struct net_layer_s *layer, size_t begin, size_t size) [link] 

This function is declared in net/scheduler.h source file, line 132.

this function allocates a packet for layer.

Parameter list:

  • layer: Layer to allocate packet for
  • begin: reserved header size for layers headers (should be at least layer->context.prefix_size)
  • size: minimal data size to allocate packet for (should be no more than layer->context.mtu)

error_t net_scheduler_cleanup(struct net_scheduler_s *sched) [link] 

This function is declared in net/scheduler.h source file, line 101.

this function releases all data associated to a scheduler.

error_t net_scheduler_init(struct net_scheduler_s *sched, struct buffer_pool_s *packet_pool, const char *timer_dev) [link] 

This function is declared in net/scheduler.h source file, line 96.

this function initializes a network scheduler context.

Parameter list:

  • sched: Scheduler context to initialize
  • packet_pool: Buffer pool to allocate packets in
  • timer_dev: Timer device path. It will be the reference timer for the scheduler.

struct buffer_s * net_scheduler_packet_alloc(struct net_scheduler_s *sched) [link] 

This function is declared in net/scheduler.h source file, line 114.

this function allocates a packet from scheduler's packet pool.

size_t net_scheduler_packet_mtu(struct net_scheduler_s *sched) [link] 

This function is declared in net/scheduler.h source file, line 176.

this function retrieves the maximum packet payload size that can be transported in buffers allocated from scheduler's packet pool.

struct net_scheduler_s [link] 

This struct is declared in ble/net/generic.h source file, line 34.

this struct is a network scheduler context. No field should be accessed directly.

struct net_task_s * net_scheduler_task_alloc(struct net_scheduler_s *sched) [link] 

This function is declared in net/scheduler.h source file, line 107.

this function allocates a task in the scheduler's task internal slab. Task must only be used by layers associated to this scheduler.

dev_timer_value_t net_scheduler_time_get(struct net_scheduler_s *sched) [link] 

This function is declared in net/scheduler.h source file, line 147.

this function retrieves current time from scheduler's reference timer.

typedef void * net_timeout_queue_entry_t [link] 

This typedef is declared in net/scheduler.h source file, line 50.

typedef struct net_task_s * net_timeout_queue_item_t [link] 

This typedef is declared in net/scheduler.h source file, line 50.

typedef void * net_timeout_queue_root_t [link] 

This typedef is declared in net/scheduler.h source file, line 50.

void net_scheduler_from_layer_cancel(struct net_scheduler_s *sched, struct net_layer_s *layer) [link] 

This function is declared in net/scheduler.h source file, line 168.

this function cancels all tasks involving a given layer.

This function is for internal use only.

void net_scheduler_task_cancel(struct net_scheduler_s *sched, struct net_task_s *task) [link] 

This function is declared in net/scheduler.h source file, line 161.

this function cancels a scheduled task.

This function is for internal use only.

void net_scheduler_task_push(struct net_scheduler_s *sched, struct net_task_s *task) [link] 

This function is declared in net/scheduler.h source file, line 154.

this function pushes a task to scheduling.

This function is for internal use only.

Valid XHTML 1.0 StrictGenerated by diaxen on Thu Aug 4 15:44:06 2022 using MkDoc