corosync  3.0.1
Data Structures | Macros | Enumerations | Functions | Variables
totem.h File Reference
#include "totemip.h"
#include <libknet.h>
#include <corosync/hdb.h>
#include <corosync/totem/totemstats.h>
Include dependency graph for totem.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  totem_interface
 
struct  totem_logging_configuration
 
struct  totem_message_header
 
struct  memb_ring_id
 The memb_ring_id struct. More...
 
struct  totem_config
 

Macros

#define PROCESSOR_COUNT_MAX   384
 
#define MESSAGE_SIZE_MAX   1024*1024 /* (1MB) */
 
#define MESSAGE_QUEUE_MAX   ((4 * MESSAGE_SIZE_MAX) / totem_config->net_mtu)
 
#define FRAME_SIZE_MAX   KNET_MAX_PACKET_SIZE
 
#define UDP_RECEIVE_FRAME_SIZE_MAX   (PROCESSOR_COUNT_MAX * (INTERFACE_MAX * 2 * sizeof(struct totem_ip_address)) + 1024)
 
#define TRANSMITS_ALLOWED   16
 
#define SEND_THREADS_MAX   16
 
#define INTERFACE_MAX   8
 
#define BIND_MAX_RETRIES   10
 
#define BIND_RETRIES_INTERVAL   100
 
#define MAX_NO_CONT_GATHER   3
 Maximum number of continuous gather states. More...
 
#define MAX_NO_CONT_SENDMSG_FAILURES   30
 
#define TOTEM_MH_MAGIC   0xC070
 
#define TOTEM_MH_VERSION   0x03
 
#define MEMB_RING_ID
 
#define TOTEM_CONFIGURATION_TYPE
 
#define TOTEM_CALLBACK_TOKEN_TYPE
 

Enumerations

enum  { TOTEM_PRIVATE_KEY_LEN_MIN = KNET_MIN_KEY_LEN, TOTEM_PRIVATE_KEY_LEN_MAX = KNET_MAX_KEY_LEN }
 
enum  { TOTEM_LINK_MODE_BYTES = 64 }
 
enum  totem_transport_t { TOTEM_TRANSPORT_UDP = 0, TOTEM_TRANSPORT_UDPU = 1, TOTEM_TRANSPORT_KNET = 2 }
 
enum  totem_configuration_type { TOTEM_CONFIGURATION_REGULAR, TOTEM_CONFIGURATION_TRANSITIONAL, TOTEM_CONFIGURATION_REGULAR, TOTEM_CONFIGURATION_TRANSITIONAL }
 
enum  totem_callback_token_type { TOTEM_CALLBACK_TOKEN_RECEIVED = 1, TOTEM_CALLBACK_TOKEN_SENT = 2, TOTEM_CALLBACK_TOKEN_RECEIVED = 1, TOTEM_CALLBACK_TOKEN_SENT = 2 }
 
enum  totem_event_type { TOTEM_EVENT_DELIVERY_CONGESTED, TOTEM_EVENT_NEW_MSG }
 

Functions

struct totem_message_header __attribute__ ((packed))
 

Variables

unsigned short magic
 
char version
 
char type
 
char encapsulated
 
unsigned int nodeid
 
unsigned int target_nodeid
 
enum { ... }  __attribute__
 
unsigned int rep
 
unsigned long long seq
 

Macro Definition Documentation

◆ BIND_MAX_RETRIES

#define BIND_MAX_RETRIES   10

Definition at line 69 of file totem.h.

◆ BIND_RETRIES_INTERVAL

#define BIND_RETRIES_INTERVAL   100

Definition at line 70 of file totem.h.

◆ FRAME_SIZE_MAX

#define FRAME_SIZE_MAX   KNET_MAX_PACKET_SIZE

Definition at line 52 of file totem.h.

◆ INTERFACE_MAX

#define INTERFACE_MAX   8

Definition at line 67 of file totem.h.

◆ MAX_NO_CONT_GATHER

#define MAX_NO_CONT_GATHER   3

Maximum number of continuous gather states.

Definition at line 75 of file totem.h.

◆ MAX_NO_CONT_SENDMSG_FAILURES

#define MAX_NO_CONT_SENDMSG_FAILURES   30

Definition at line 79 of file totem.h.

◆ MEMB_RING_ID

#define MEMB_RING_ID

Definition at line 146 of file totem.h.

◆ MESSAGE_QUEUE_MAX

#define MESSAGE_QUEUE_MAX   ((4 * MESSAGE_SIZE_MAX) / totem_config->net_mtu)

Definition at line 49 of file totem.h.

◆ MESSAGE_SIZE_MAX

#define MESSAGE_SIZE_MAX   1024*1024 /* (1MB) */

Definition at line 48 of file totem.h.

◆ PROCESSOR_COUNT_MAX

#define PROCESSOR_COUNT_MAX   384

Definition at line 47 of file totem.h.

◆ SEND_THREADS_MAX

#define SEND_THREADS_MAX   16

Definition at line 64 of file totem.h.

◆ TOTEM_CALLBACK_TOKEN_TYPE

#define TOTEM_CALLBACK_TOKEN_TYPE

Definition at line 251 of file totem.h.

◆ TOTEM_CONFIGURATION_TYPE

#define TOTEM_CONFIGURATION_TYPE

Definition at line 245 of file totem.h.

◆ TOTEM_MH_MAGIC

#define TOTEM_MH_MAGIC   0xC070

Definition at line 121 of file totem.h.

◆ TOTEM_MH_VERSION

#define TOTEM_MH_VERSION   0x03

Definition at line 122 of file totem.h.

◆ TRANSMITS_ALLOWED

#define TRANSMITS_ALLOWED   16

Definition at line 63 of file totem.h.

◆ UDP_RECEIVE_FRAME_SIZE_MAX

#define UDP_RECEIVE_FRAME_SIZE_MAX   (PROCESSOR_COUNT_MAX * (INTERFACE_MAX * 2 * sizeof(struct totem_ip_address)) + 1024)

Definition at line 61 of file totem.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
TOTEM_PRIVATE_KEY_LEN_MIN 
TOTEM_PRIVATE_KEY_LEN_MAX 

Definition at line 133 of file totem.h.

◆ anonymous enum

anonymous enum
Enumerator
TOTEM_LINK_MODE_BYTES 

Definition at line 138 of file totem.h.

◆ totem_callback_token_type

Enumerator
TOTEM_CALLBACK_TOKEN_RECEIVED 
TOTEM_CALLBACK_TOKEN_SENT 
TOTEM_CALLBACK_TOKEN_RECEIVED 
TOTEM_CALLBACK_TOKEN_SENT 

Definition at line 252 of file totem.h.

◆ totem_configuration_type

Enumerator
TOTEM_CONFIGURATION_REGULAR 
TOTEM_CONFIGURATION_TRANSITIONAL 
TOTEM_CONFIGURATION_REGULAR 
TOTEM_CONFIGURATION_TRANSITIONAL 

Definition at line 246 of file totem.h.

◆ totem_event_type

Enumerator
TOTEM_EVENT_DELIVERY_CONGESTED 
TOTEM_EVENT_NEW_MSG 

Definition at line 257 of file totem.h.

◆ totem_transport_t

Enumerator
TOTEM_TRANSPORT_UDP 
TOTEM_TRANSPORT_UDPU 
TOTEM_TRANSPORT_KNET 

Definition at line 140 of file totem.h.

Function Documentation

◆ __attribute__()

struct totem_message_header __attribute__ ( (packed)  )

Variable Documentation

◆ __attribute__

struct totem_config __attribute__

◆ encapsulated

char encapsulated

Definition at line 3 of file totem.h.

◆ magic

unsigned short magic

Definition at line 0 of file totem.h.

◆ nodeid

unsigned int nodeid

Definition at line 4 of file totem.h.

◆ rep

unsigned int rep

Definition at line 0 of file totem.h.

◆ seq

unsigned long long seq

Definition at line 1 of file totem.h.

◆ target_nodeid

unsigned int target_nodeid

Definition at line 5 of file totem.h.

◆ type

char type

◆ version

char version

Definition at line 1 of file totem.h.