Derecho  0.9
Distributed systems toolkit for RDMA
Classes | Namespaces | Functions
derecho_sst.hpp File Reference
#include <atomic>
#include <cstdint>
#include <cstring>
#include <mutex>
#include <sstream>
#include <string>
#include "../derecho_type_definitions.hpp"
#include "derecho_internal.hpp"
#include <derecho/sst/sst.hpp>
Include dependency graph for derecho_sst.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  derecho::DerechoSST
 The GMS and derecho_group will share the same SST for efficiency. More...
 

Namespaces

 derecho
 
 derecho::gmssst
 

Functions

template<typename Elem >
void derecho::gmssst::set (volatile Elem &e, const Elem &value)
 Thread-safe setter for DerechoSST members; ensures there is a std::atomic_signal_fence after writing the value. More...
 
template<typename Elem >
void derecho::gmssst::set (volatile Elem &e, volatile const Elem &value)
 Thread-safe setter for DerechoSST members; ensures there is a std::atomic_signal_fence after writing the value. More...
 
template<typename Elem >
void derecho::gmssst::set (volatile Elem *array, volatile Elem *value, const size_t length)
 Thread-safe setter for DerechoSST members that are arrays; takes a lock before running memcpy, and then ensures there is an atomic_signal_fence. More...
 
template<typename Arr , size_t Len>
void derecho::gmssst::set (volatile Arr(&e)[Len], const volatile Arr(&value)[Len])
 Thread-safe setter for DerechoSST members that are arrays; takes a lock before running memcpy, and then ensures there is an atomic_signal_fence. More...
 
template<size_t L1, size_t L2, typename Arr >
void derecho::gmssst::set (volatile Arr(&dst)[L1], const volatile Arr(&src)[L2], const size_t &num)
 Thread-safe setter for DerechoSST members that are arrays; takes a lock before running memcpy, and then ensures there is an atomic_signal_fence. More...
 
void derecho::gmssst::set (volatile char *string_array, const std::string &value)
 Thread-safe setter for DerechoSST members that use SSTFieldVector<char> to represent strings. More...
 
void derecho::gmssst::increment (volatile int &member)
 Thread-safe increment of an integer member of GMSTableRow; ensures there is a std::atomic_signal_fence after updating the value. More...
 
bool derecho::gmssst::equals (const volatile char &string_array, const std::string &value)