Documentation
¶
Index ¶
- Variables
- func CreateSvsNode(node *schema.Node) schema.NodeImpl
- type MissingData
- type SvsNode
- func (n *SvsNode) CastTo(ptr any) any
- func (n *SvsNode) GetDataName(mNode schema.MatchedNode, nodeId []byte, seq uint64) enc.Name
- func (n *SvsNode) MissingDataChannel() chan MissingData
- func (n *SvsNode) MySequence() uint64
- func (n *SvsNode) NewData(mNode schema.MatchedNode, content enc.Wire) enc.Wire
- func (n *SvsNode) NodeImplTrait() schema.NodeImpl
- type SyncState
Constants ¶
This section is empty.
Variables ¶
View Source
var SvsNodeDesc *schema.NodeImplDesc
Functions ¶
Types ¶
type SvsNode ¶
type SvsNode struct {
schema.BaseNodeImpl
OnMissingData *schema.EventTarget
SyncInterval time.Duration
SuppressionInterval time.Duration
BaseMatching enc.Matching
ChannelSize uint64
SelfNodeId enc.Name
// contains filtered or unexported fields
}
SvsNode implements the StateVectorSync but works for only one instance. Similar is RegisterPolicy. A better implementation is needed if there is a need that multiple producers under the same name pattern that runs on the same application instance. It would also be more natural if we make 1-1 mapping between MatchedNodes and SVS instances, instead of the Node and the SVS instance, which is against the philosophy of matching. Also, this sample always starts from sequence number 0.
func (*SvsNode) GetDataName ¶
func (*SvsNode) MissingDataChannel ¶
func (n *SvsNode) MissingDataChannel() chan MissingData
func (*SvsNode) MySequence ¶
func (*SvsNode) NodeImplTrait ¶
Click to show internal directories.
Click to hide internal directories.