messageState

package
v0.0.0-...-c3c44a6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2019 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Copyright (c) 2018 The MATRIX Authors Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RlpFnvHash

func RlpFnvHash(data interface{}) uint64

Types

type MessageChecker

type MessageChecker interface {
	// contains filtered or unexported methods
}

MessageChecker is an interface to verify message value and decode Round Number

type MessageSend

type MessageSend struct {
	Message []map[uint64]interface{}
	Index   int
	Round   uint64
}

send into state channel

type MessageStatePool

type MessageStatePool struct {
	// contains filtered or unexported fields
}

an simple Message state process

func NewMessageStatePool

func NewMessageStatePool(roundCapacity, messageCapacity int, checker MessageChecker) *MessageStatePool

func (*MessageStatePool) Quit

func (ms *MessageStatePool) Quit()

func (*MessageStatePool) Require

func (ms *MessageStatePool) Require(key RequireInfo)

func (*MessageStatePool) RunLoop

func (ms *MessageStatePool) RunLoop()

func (*MessageStatePool) SetMessageChecker

func (ms *MessageStatePool) SetMessageChecker(checker MessageChecker)

func (*MessageStatePool) SetStateChan

func (ms *MessageStatePool) SetStateChan(stateChan chan MessageSend)

func (*MessageStatePool) SubscribeEvent

func (ms *MessageStatePool) SubscribeEvent(aim mc.EventCode, ch interface{}) error

type MessgeStateInterface

type MessgeStateInterface interface {
	SubscribeEvent(aim mc.EventCode, ch interface{}) error
	SetStateChan(stateChan chan MessageSend)
	SetMessageChecker(checker MessageChecker)
	Require(RequireInfo)
	RunLoop()
	Quit()
}

type RequireInfo

type RequireInfo struct {
	// contains filtered or unexported fields
}

subscribe from messageCenter package

type SubScribeInfo

type SubScribeInfo struct {
	Round   uint64
	Index   int
	Message interface{}
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL