NewMadeleine

Documentation

« back to PM2 home.
nm_strategy_iface_s Struct Reference

Driver for 'NewMad_Strategy' component interface. More...

#include <nm_strategy.h>

Collaboration diagram for nm_strategy_iface_s:

Data Structures

struct  nm_strategy_capabilities_s
 strategy capabilities, not supposed to be used by nmad core, but may be usefull for the user to check that config is right. More...
 

Data Fields

struct nm_strategy_iface_s::nm_strategy_capabilities_s capabilities
 
void(* init )(puk_context_t p_context)
 init the strategy context (shared across instances)
 
void(* close )(puk_context_t p_context)
 close the strategy context
 
nm_drv_vect_t(* connect )(void *_status, nm_gate_t p_gate, nm_drv_vect_t p_available_drvs)
 selects the drivers to actually use, among the list of available drivers for the given gate
 
void(* schedule )(puk_context_t p_context)
 schedule all events:
 
void(* try_and_commit )(void *_status, nm_gate_t p_gate)
 Compute and apply the best possible packet rearrangement, then return next packet to send.
 
void(* rdv_accept )(void *_status, nm_gate_t p_gate)
 Emit RTR series for received RDV requests.
 
void(* proto )(void *_status, nm_gate_t p_gate, struct nm_pkt_wrap_s *p_pw, const void *ptr, nm_len_t len)
 process strat private protocol
 
void(* pw_send_post )(void *_status, struct nm_pkt_wrap_s *p_pw)
 schedule the given pw for sending
 
void(* pw_send_complete )(void *_status, struct nm_pkt_wrap_s *p_pw)
 notify send completion for pw
 
void(* pw_recv_complete )(void *_status, struct nm_pkt_wrap_s *p_pw)
 notify recv completion for pw
 

Detailed Description

Driver for 'NewMad_Strategy' component interface.

Definition at line 21 of file nm_strategy.h.

Field Documentation

◆ capabilities

struct nm_strategy_iface_s::nm_strategy_capabilities_s nm_strategy_iface_s::capabilities

◆ close

void(* nm_strategy_iface_s::close) (puk_context_t p_context)

close the strategy context

Definition at line 34 of file nm_strategy.h.

◆ connect

nm_drv_vect_t(* nm_strategy_iface_s::connect) (void *_status, nm_gate_t p_gate, nm_drv_vect_t p_available_drvs)

selects the drivers to actually use, among the list of available drivers for the given gate

Definition at line 37 of file nm_strategy.h.

◆ init

void(* nm_strategy_iface_s::init) (puk_context_t p_context)

init the strategy context (shared across instances)

Definition at line 31 of file nm_strategy.h.

◆ proto

void(* nm_strategy_iface_s::proto) (void *_status, nm_gate_t p_gate, struct nm_pkt_wrap_s *p_pw, const void *ptr, nm_len_t len)

process strat private protocol

Definition at line 53 of file nm_strategy.h.

◆ pw_recv_complete

void(* nm_strategy_iface_s::pw_recv_complete) (void *_status, struct nm_pkt_wrap_s *p_pw)

notify recv completion for pw

Definition at line 62 of file nm_strategy.h.

◆ pw_send_complete

void(* nm_strategy_iface_s::pw_send_complete) (void *_status, struct nm_pkt_wrap_s *p_pw)

notify send completion for pw

Definition at line 59 of file nm_strategy.h.

◆ pw_send_post

void(* nm_strategy_iface_s::pw_send_post) (void *_status, struct nm_pkt_wrap_s *p_pw)

schedule the given pw for sending

Definition at line 56 of file nm_strategy.h.

◆ rdv_accept

void(* nm_strategy_iface_s::rdv_accept) (void *_status, nm_gate_t p_gate)

Emit RTR series for received RDV requests.

Definition at line 50 of file nm_strategy.h.

◆ schedule

void(* nm_strategy_iface_s::schedule) (puk_context_t p_context)

schedule all events:

  • generate a pw from chunks if needed
  • process rdv requests

Definition at line 43 of file nm_strategy.h.

◆ try_and_commit

void(* nm_strategy_iface_s::try_and_commit) (void *_status, nm_gate_t p_gate)

Compute and apply the best possible packet rearrangement, then return next packet to send.

Definition at line 47 of file nm_strategy.h.


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