Memory map with different slots and versions.
More...
#include <GossipSlot.h>
Memory map with different slots and versions.
Class GossipSlot stores all K-V pairs generated by certain GossipNode. A GossipSlot only stores data from that GossipNode.
◆ GossipSlot()
gossip::server::GossipSlot::GossipSlot |
( |
std::string |
name | ) |
|
|
inlineexplicit |
Construction of GossipSlot, the name of a slot represents a node's name.
- Parameters
-
◆ approximateMemoryUse()
size_t gossip::server::GossipSlot::approximateMemoryUse |
( |
| ) |
const |
|
inline |
Get approximate memory use of this slot.
- Returns
- Approximate memory use
◆ compareAndMergeSlot()
SlotVersion gossip::server::GossipSlot::compareAndMergeSlot |
( |
SlotValues |
values, |
|
|
SlotVersion |
version |
|
) |
| |
Merge this slot with given SlotValues, if assigned version is less than current version, function will do nothing.
- Parameters
-
values | New values of this slot |
version | Assigned version |
- Returns
- Assigned slot version if succeed or -1 if failed
◆ find()
std::pair< std::string, SlotVersion > gossip::server::GossipSlot::find |
( |
const std::string & |
key | ) |
|
Get value and version of a K-V pair in this slot.
- Parameters
-
- Returns
- [value , version] if succeed or ["", 0] if not found
◆ insertOrUpdate() [1/2]
SlotVersion gossip::server::GossipSlot::insertOrUpdate |
( |
const std::string & |
key, |
|
|
const std::string & |
value |
|
) |
| |
Insert or update a K-V pair and update version of slot automatically.
- Parameters
-
key | The key of K-V pair |
value | The value of K-V pair |
- Returns
- Updated slot version
◆ insertOrUpdate() [2/2]
SlotVersion gossip::server::GossipSlot::insertOrUpdate |
( |
const std::string & |
key, |
|
|
const std::string & |
value, |
|
|
SlotVersion |
version |
|
) |
| |
Insert or update a K-V pair and set slot version to assigned value. If assigned version value is less than current version, the function will do nothing.
- Parameters
-
key | The key of K-V pair |
value | The value of K-V pair |
version | Assigned slot version |
- Returns
- Assigned slot version if succeed or -1 if failed
◆ messages()
SlotValues gossip::server::GossipSlot::messages |
( |
| ) |
const |
|
inline |
Get the Copy of K-V pairs in this slot.
- Returns
- Copy of K-V pairs, struct format is std::unordered_map
◆ name()
std::string gossip::server::GossipSlot::name |
( |
| ) |
const |
|
inline |
Get the name of this slot.
- Returns
- Slot name
◆ remove() [1/2]
SlotVersion gossip::server::GossipSlot::remove |
( |
const std::string & |
key | ) |
|
Delete a K-V pair in current slot.
- Parameters
-
- Returns
- Updated slot version if succeed or -1 if failed
◆ remove() [2/2]
SlotVersion gossip::server::GossipSlot::remove |
( |
const std::string & |
key, |
|
|
SlotVersion |
version |
|
) |
| |
Delete a K-V pair in current slot and set slot version to assigned value.
- Parameters
-
key | The key of K-V pair |
version | Assigned slot version |
- Returns
- Assigned slot version if succeed or -1 if failed
◆ version()
SlotVersion gossip::server::GossipSlot::version |
( |
| ) |
const |
|
inline |
Get current version of this slot.
- Returns
- Current version
The documentation for this class was generated from the following files:
- /Users/tangrenchu/CLionProjects/Gossip/server/GossipSlot.h
- /Users/tangrenchu/CLionProjects/Gossip/server/GossipSlot.cpp