core

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2024 License: BSD-3-Clause Imports: 1 Imported by: 0

Documentation

Overview

Package core implements commonly used tools.

Documentation Last Review: 08.10.2020

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Observable

type Observable interface {
	// Add adds the observer to the list of observers that will be notified of
	// new events.
	Add(observer Observer)

	// Remove removes the observer from the list thus stopping it from receiving
	// new events.
	Remove(observer Observer)

	// Notify notifies the observers of a new event.
	Notify(event interface{})
}

Observable provides primitives to add and remove observers and to notify them of new events.

type Observer

type Observer interface {
	NotifyCallback(event interface{})
}

Observer is the interface to implement to watch events.

type Watcher

type Watcher struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

Watcher is an implementation of the Observable interface.

- implements core.Observable

func NewWatcher

func NewWatcher() *Watcher

NewWatcher creates a new empty watcher.

func (*Watcher) Add

func (w *Watcher) Add(observer Observer)

Add implements core.Observable. It adds the observer to the list of observers that will be notified of new events.

func (*Watcher) Notify

func (w *Watcher) Notify(event interface{})

Notify implements core.Observable. It notifies the whole list of observers one after each other.

func (*Watcher) Remove

func (w *Watcher) Remove(observer Observer)

Remove implements core.Observable. It removes the observer from the list thus stopping it from receiving new events.

Directories

Path Synopsis
Package access defines the interfaces for Access Rights Controls.
Package access defines the interfaces for Access Rights Controls.
darc
Package darc implements Distributed Access Rights Controls.
Package darc implements Distributed Access Rights Controls.
darc/types
Package types implements the darc messages.
Package types implements the darc messages.
Package execution defines the service to execute a step in a validation batch.
Package execution defines the service to execute a step in a validation batch.
native
Package native implements an execution service to run native smart contracts.
Package native implements an execution service to run native smart contracts.
Package ordering defines the interface of the ordering service.
Package ordering defines the interface of the ordering service.
cosipbft
Package cosipbft implements an ordering service using collective signatures for the consensus.
Package cosipbft implements an ordering service using collective signatures for the consensus.
cosipbft/authority
Package authority defines the collective authority for cosipbft.
Package authority defines the collective authority for cosipbft.
cosipbft/blockstore
Package blockstore defines the different storage the ordering service is using.
Package blockstore defines the different storage the ordering service is using.
cosipbft/blocksync
Package blocksync defines a block synchronizer for the ordering service.
Package blocksync defines a block synchronizer for the ordering service.
cosipbft/blocksync/types
Package types implements the network messages for a synchronization.
Package types implements the network messages for a synchronization.
cosipbft/contracts/viewchange
Package viewchange implements a native smart contract to update the roster of a chain.
Package viewchange implements a native smart contract to update the roster of a chain.
cosipbft/controller
Package controller implements a minimal controller for cosipbft.
Package controller implements a minimal controller for cosipbft.
cosipbft/pbft
Package pbft defines a state machine to perform PBFT using collective signatures.
Package pbft defines a state machine to perform PBFT using collective signatures.
cosipbft/types
Package types implements the network messages for cosipbft.
Package types implements the network messages for cosipbft.
pow
Package pow implements a Proof-of-Work ordering service.
Package pow implements a Proof-of-Work ordering service.
Package store defines the primitives of a simple key/value storage.
Package store defines the primitives of a simple key/value storage.
hashtree
Package hashtree defines the specialization of the store as a Merkle tree.
Package hashtree defines the specialization of the store as a Merkle tree.
hashtree/binprefix
Package binprefix implements the hash tree interface by following the merkle binary prefix tree algorithm.
Package binprefix implements the hash tree interface by following the merkle binary prefix tree algorithm.
kv
Package kv defines the abstraction for a key/value database.
Package kv defines the abstraction for a key/value database.
kv/controller
Package controller implements a CLI controller for the key/value database.
Package controller implements a CLI controller for the key/value database.
txn
Package txn defines the abstraction of transactions.
Package txn defines the abstraction of transactions.
pool
Package pool defines the interface for a transaction pool.
Package pool defines the interface for a transaction pool.
pool/controller
Package controller implements a controller for the pool
Package controller implements a controller for the pool
pool/gossip
Package gossip implements a transaction pool that is using a gossip protocol to spread the transactions to other participants.
Package gossip implements a transaction pool that is using a gossip protocol to spread the transactions to other participants.
signed
Package signed is an implementation of the transaction abstraction.
Package signed is an implementation of the transaction abstraction.
signed/controller
Package controller implements a CLI controller to inject a transaction manager.
Package controller implements a CLI controller to inject a transaction manager.
Package validation defines a validation service that will apply a batch of transactions to a store snapshot.
Package validation defines a validation service that will apply a batch of transactions to a store snapshot.
simple
Package simple implements a validation service that executes a batch of transactions sequentially.
Package simple implements a validation service that executes a batch of transactions sequentially.

Jump to

Keyboard shortcuts

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