Derecho  0.9
Distributed systems toolkit for RDMA
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
derecho::DerechoParams Struct Reference

Bundles together a set of low-level parameters for configuring Derecho groups. More...

#include <multicast_group.hpp>

Inheritance diagram for derecho::DerechoParams:
Inheritance graph
[legend]
Collaboration diagram for derecho::DerechoParams:
Collaboration graph
[legend]

Public Member Functions

 DerechoParams (uint64_t max_payload_size, uint64_t max_reply_payload_size, uint64_t max_smc_payload_size, uint64_t block_size, unsigned int window_size, unsigned int heartbeat_ms, rdmc::send_algorithm rdmc_send_algorithm, uint32_t rpc_port)
 
 DerechoParams ()
 
 DEFAULT_SERIALIZATION_SUPPORT (DerechoParams, max_msg_size, max_reply_msg_size, sst_max_msg_size, block_size, window_size, heartbeat_ms, rdmc_send_algorithm, rpc_port)
 
- Public Member Functions inherited from mutils::ByteRepresentable
virtual std::size_t to_bytes (char *v) const =0
 Write this class's marshalled representation into the array found at v. More...
 
virtual void post_object (const std::function< void(char const *const, std::size_t)> &) const =0
 Pass a pointer to a buffer containing this class's marshalled representation into the function f. More...
 
virtual std::size_t bytes_size () const =0
 the size of the marshalled representation of this object. More...
 
virtual ~ByteRepresentable ()
 

Static Public Member Functions

static uint64_t compute_max_msg_size (const uint64_t max_payload_size, const uint64_t block_size, bool using_rdmc)
 
static rdmc::send_algorithm send_algorithm_from_string (const std::string &rdmc_send_algorithm_string)
 
static DerechoParams from_profile (const std::string &profile)
 Constructs DerechoParams specifying subgroup metadata for specified profile. More...
 

Public Attributes

uint64_t max_msg_size
 
uint64_t max_reply_msg_size
 
uint64_t sst_max_msg_size
 
uint64_t block_size
 
unsigned int window_size
 
unsigned int heartbeat_ms
 
rdmc::send_algorithm rdmc_send_algorithm
 
uint32_t rpc_port
 

Detailed Description

Bundles together a set of low-level parameters for configuring Derecho groups.

All of the parameters except max payload size and block size have sensible defaults, but the correct block size to set depends on the user's desired max payload size.

Definition at line 62 of file multicast_group.hpp.

Constructor & Destructor Documentation

◆ DerechoParams() [1/2]

derecho::DerechoParams::DerechoParams ( uint64_t  max_payload_size,
uint64_t  max_reply_payload_size,
uint64_t  max_smc_payload_size,
uint64_t  block_size,
unsigned int  window_size,
unsigned int  heartbeat_ms,
rdmc::send_algorithm  rdmc_send_algorithm,
uint32_t  rpc_port 
)
inline

Definition at line 99 of file multicast_group.hpp.

◆ DerechoParams() [2/2]

derecho::DerechoParams::DerechoParams ( )
inline

Definition at line 119 of file multicast_group.hpp.

Member Function Documentation

◆ compute_max_msg_size()

static uint64_t derecho::DerechoParams::compute_max_msg_size ( const uint64_t  max_payload_size,
const uint64_t  block_size,
bool  using_rdmc 
)
inlinestatic

Definition at line 72 of file multicast_group.hpp.

◆ DEFAULT_SERIALIZATION_SUPPORT()

derecho::DerechoParams::DEFAULT_SERIALIZATION_SUPPORT ( DerechoParams  ,
max_msg_size  ,
max_reply_msg_size  ,
sst_max_msg_size  ,
block_size  ,
window_size  ,
heartbeat_ms  ,
rdmc_send_algorithm  ,
rpc_port   
)

◆ from_profile()

static DerechoParams derecho::DerechoParams::from_profile ( const std::string &  profile)
inlinestatic

Constructs DerechoParams specifying subgroup metadata for specified profile.

Parameters
profileName of profile in the configuration file to use.
Returns
DerechoParams.

Definition at line 126 of file multicast_group.hpp.

◆ send_algorithm_from_string()

static rdmc::send_algorithm derecho::DerechoParams::send_algorithm_from_string ( const std::string &  rdmc_send_algorithm_string)
inlinestatic

Definition at line 85 of file multicast_group.hpp.

Member Data Documentation

◆ block_size

uint64_t derecho::DerechoParams::block_size

Definition at line 66 of file multicast_group.hpp.

◆ heartbeat_ms

unsigned int derecho::DerechoParams::heartbeat_ms

Definition at line 68 of file multicast_group.hpp.

◆ max_msg_size

uint64_t derecho::DerechoParams::max_msg_size

Definition at line 63 of file multicast_group.hpp.

◆ max_reply_msg_size

uint64_t derecho::DerechoParams::max_reply_msg_size

Definition at line 64 of file multicast_group.hpp.

◆ rdmc_send_algorithm

rdmc::send_algorithm derecho::DerechoParams::rdmc_send_algorithm

Definition at line 69 of file multicast_group.hpp.

◆ rpc_port

uint32_t derecho::DerechoParams::rpc_port

Definition at line 70 of file multicast_group.hpp.

◆ sst_max_msg_size

uint64_t derecho::DerechoParams::sst_max_msg_size

Definition at line 65 of file multicast_group.hpp.

◆ window_size

unsigned int derecho::DerechoParams::window_size

Definition at line 67 of file multicast_group.hpp.


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