SpiNNFrontEndCommon 7.3.1
Common support code for user-facing front end systems.
Loading...
Searching...
No Matches
Macros | Enumerations | Functions | Variables
common.h File Reference

Common definitions for the non-SCAMP system binaries. More...

#include <common-typedefs.h>
#include <sdp_no_scp.h>

Go to the source code of this file.

Macros

#define SDP_REPLY_HEADER_LEN   12
 Number of bytes in an SDP header.
 
#define TRANSACTION_CAP   0xFFFFFFF
 Flag for cap on transaction id.
 

Enumerations

enum  reinjector_command_codes {
  CMD_DPRI_SET_ROUTER_TIMEOUT = 0 , CMD_DPRI_SET_ROUTER_EMERGENCY_TIMEOUT = 1 , CMD_DPRI_SET_PACKET_TYPES = 2 , CMD_DPRI_GET_STATUS = 3 ,
  CMD_DPRI_RESET_COUNTERS = 4 , CMD_DPRI_EXIT = 5 , CMD_DPRI_CLEAR = 6
}
 Dropped packet re-injection internal control commands (RC of SCP message) More...
 
enum  reinjector_key_offsets { ROUTER_TIMEOUT_OFFSET = 0 , ROUTER_EMERGENCY_TIMEOUT_OFFSET = 1 , REINJECTOR_CLEAR_QUEUE_OFFSET = 2 }
 Human readable definitions of the offsets for multicast key elements for reinjection. More...
 

Functions

static void initialise_reinjection_mc_api (uint32_t base_mc_key)
 sets up the multicast keys for the reinjection multicast API
 
static void reflect_sdp_message (sdp_msg_t *msg, uint body_length)
 Updates an SDP message so its content (a response to the message) goes back to where the message came from.
 

Variables

static uint reinject_timeout_mc_key
 the multicast key used for basic timeouts to all extra monitors
 
static uint reinject_emergency_timeout_mc_key
 the multicast key used for emergency timeouts to all extra monitors
 
static uint reinject_clear_mc_key
 the multicast key used for clear reinjector queue to all extra monitors
 

Detailed Description

Common definitions for the non-SCAMP system binaries.

Definition in file common.h.

Macro Definition Documentation

◆ SDP_REPLY_HEADER_LEN

#define SDP_REPLY_HEADER_LEN   12

Number of bytes in an SDP header.

Definition at line 82 of file common.h.

◆ TRANSACTION_CAP

#define TRANSACTION_CAP   0xFFFFFFF

Flag for cap on transaction id.

Definition at line 85 of file common.h.

Enumeration Type Documentation

◆ reinjector_command_codes

Dropped packet re-injection internal control commands (RC of SCP message)

Enumerator
CMD_DPRI_SET_ROUTER_TIMEOUT 

Set the router's wait1 timeout.

CMD_DPRI_SET_ROUTER_EMERGENCY_TIMEOUT 

Set the router's wait2 timeout.

CMD_DPRI_SET_PACKET_TYPES 

Set what packet types are reinjected.

CMD_DPRI_GET_STATUS 

Get the status of the reinjector.

CMD_DPRI_RESET_COUNTERS 

Reset the reinjection counters.

CMD_DPRI_EXIT 

Stop doing reinjection.

CMD_DPRI_CLEAR 

Clear the reinjection queue.

Definition at line 28 of file common.h.

◆ reinjector_key_offsets

Human readable definitions of the offsets for multicast key elements for reinjection.

These act as commands sent to the target extra monitor core.

Enumerator
ROUTER_TIMEOUT_OFFSET 

Set the router's wait1 timeout.

ROUTER_EMERGENCY_TIMEOUT_OFFSET 

Set the router's wait2 timeout.

REINJECTOR_CLEAR_QUEUE_OFFSET 

Clear the reinjection queue.

Definition at line 49 of file common.h.

Function Documentation

◆ initialise_reinjection_mc_api()

static void initialise_reinjection_mc_api ( uint32_t  base_mc_key)
static

sets up the multicast keys for the reinjection multicast API

Parameters
[in]base_mc_keythe base key for the api.

Definition at line 73 of file common.h.

◆ reflect_sdp_message()

static void reflect_sdp_message ( sdp_msg_t msg,
uint  body_length 
)
inlinestatic

Updates an SDP message so its content (a response to the message) goes back to where the message came from.

Parameters
[in,out]msgthe SDP message to reflect
[in]body_lengththe length of the response

Definition at line 91 of file common.h.

Variable Documentation

◆ reinject_timeout_mc_key

uint reinject_timeout_mc_key
static

the multicast key used for basic timeouts to all extra monitors

Definition at line 63 of file common.h.

◆ reinject_emergency_timeout_mc_key

uint reinject_emergency_timeout_mc_key
static

the multicast key used for emergency timeouts to all extra monitors

Definition at line 66 of file common.h.

◆ reinject_clear_mc_key

uint reinject_clear_mc_key
static

the multicast key used for clear reinjector queue to all extra monitors

Definition at line 69 of file common.h.