Class MessageCache
Cache object that stores recently seen Messages.
Inherited Members
Namespace: Libplanet.Net.Consensus
Assembly: Libplanet.Net.dll
Syntax
public class MessageCache
Constructors
| Improve this Doc View SourceMessageCache(Int32, Int32)
Create a message cache instance that stores recently seen Messages for gossip.
Declaration
public MessageCache(int len, int gossip)
Parameters
Type | Name | Description |
---|---|---|
Int32 | len | Size of the cache history window. |
Int32 | gossip | Maximum number of windows to be selected for gossip. |
Exceptions
Type | Condition |
---|---|
ArgumentOutOfRangeException | Thrown when |
Methods
| Improve this Doc View SourceGet(MessageId)
Gets copied value of the message with id
if it exists in the message cache.
Declaration
[Pure]
public MessageContent Get(MessageId id)
Parameters
Type | Name | Description |
---|---|---|
MessageId | id |
Returns
Type | Description |
---|---|
MessageContent | A message with id |
Exceptions
Type | Condition |
---|---|
KeyNotFoundException | Thrown when a Message of id
|
GetGossipIds()
Selects at maximum gossip
messages used for gossiping.
Declaration
[Pure]
public MessageId[] GetGossipIds()
Returns
Type | Description |
---|---|
MessageId[] | A list of message ids to gossip. |
Put(MessageContent)
Puts the message
into message cache.
Declaration
public void Put(MessageContent message)
Parameters
Type | Name | Description |
---|---|---|
MessageContent | message | A Message to cache. |
Exceptions
Type | Condition |
---|---|
ArgumentException | Thrown when a Message with the same id already exists. |
Shift()
Shifts the current window and discard messages older than the history length of the cache.
Declaration
public void Shift()