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

The source code of this header can be browsed online.

Description  

this header contains all relevant declarations about Network stack scheduler.

Members  

Types  

Functions  

Members detail  

#define GCT_CONTAINER_ALGO_net_timeout_queue  

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

#define GCT_CONTAINER_LOCK_net_timeout_queue  

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

#define NET_SCHEDULER_H  

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)  

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)  

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)  

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)  

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)  

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  

This struct is declared in net/scheduler.h source file, line 59.

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)  

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)  

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

typedef void * net_timeout_queue_entry_t  

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

typedef struct net_task_s * net_timeout_queue_item_t  

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

typedef void * net_timeout_queue_root_t  

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)  

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)  

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)  

this function pushes a task to scheduling.

This function is for internal use only.

Valid XHTML 1.0 StrictGenerated by diaxen on Wed Oct 17 21:18:39 2018 using MkDoc