quantumlayer

package
v0.0.0-...-f9f117d Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2023 License: BSD-3-Clause Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type NumberLayer

type NumberLayer interface {
	GetBatch() []byte // allows to retrieve the current available batch of numbers
	GetBulk() (QuantumLayerBulkKey, error)
	// contains filtered or unexported methods
}

type NumberStore

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

func NewNumberStore

func NewNumberStore(maxBytes int) (newNS *NumberStore)

Generates a new store with given maximum number of bytes

func (*NumberStore) GetBatch

func (store *NumberStore) GetBatch() (batch []byte)

func (*NumberStore) GetBulk

func (store *NumberStore) GetBulk() (bulk QuantumLayerBulkKey, err error)

type QuantumLayer

type QuantumLayer interface {
	Configure(...string)                            // configure the interface, e.g., used IP/Port config if emulated
	PowerOn()                                       // switch on the quantum layer element
	PowerOff()                                      // switch off the quantum layer element
	GetStatus() (poweredOn bool)                    // returns true if quantum layer element is powered on
	AddPeer()                                       // Adds a Quantum Layer Peer to the peer list
	RemovePeer()                                    // Remmoves a Quantum Layer Peer to the peer list
	GetLocalQLPort()                                // Returns the information about the local quantum layer IP and port
	GetKeyBatchPeer() (QuantumLayerBulkKey, error)  // retrieve the bulk key received from peer
	GetKeyBatchLocal() (QuantumLayerBulkKey, error) // retrieve  the bulk key generated locally
	GenerateRandomNumbers() []byte                  // generate a number of random numbers
}

type QuantumLayerBulkKey

type QuantumLayerBulkKey struct {
	BulkKeyId     int64   // the unique ID of this bulk of keys
	BulkKeyLength int     // the length, counted in bytes, of bulkKey
	BulkKey       *[]byte // the bulk key
}

type QuantumPayloadElement

type QuantumPayloadElement struct {
	BulkKeyId     int64   `json:"bulk-key-id"`     // the unique ID of this bulk of keys
	BulkKeyLength int     `json:"bulk-key-length"` // the length, counted in bytes, of bulkKey
	BulkKey       *[]byte `json:"bulk-key"`        // the bulk key
}

type QuantumlayerEmuPRNG

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

func NewQuantumlayerEmuPRNG

func NewQuantumlayerEmuPRNG(logOutput io.Writer, logLevel logi.Level, logInJson bool) (newql *QuantumlayerEmuPRNG)

func (*QuantumlayerEmuPRNG) AddPeer

func (qlemuprng *QuantumlayerEmuPRNG) AddPeer(addr *net.UDPAddr)

func (*QuantumlayerEmuPRNG) Configure

func (qlemuprng *QuantumlayerEmuPRNG) Configure(localQLAddress ...string)

Configure the quantum emulation, but do not start if yet

func (*QuantumlayerEmuPRNG) GenerateRandomNumbers

func (qlemuprng *QuantumlayerEmuPRNG) GenerateRandomNumbers() (randNums []byte)

func (*QuantumlayerEmuPRNG) GetKeyBatchLocal

func (qlemuprng *QuantumlayerEmuPRNG) GetKeyBatchLocal() (QuantumLayerBulkKey, error)

func (*QuantumlayerEmuPRNG) GetKeyBatchPeer

func (qlemuprng *QuantumlayerEmuPRNG) GetKeyBatchPeer() (QuantumLayerBulkKey, error)

func (*QuantumlayerEmuPRNG) GetLocalQLPort

func (qlemuprng *QuantumlayerEmuPRNG) GetLocalQLPort() (myAddr net.UDPAddr)

func (*QuantumlayerEmuPRNG) GetStatus

func (qlemuprng *QuantumlayerEmuPRNG) GetStatus() (poweredOn bool)

func (*QuantumlayerEmuPRNG) PowerOff

func (qlemuprng *QuantumlayerEmuPRNG) PowerOff()

Power off the quantum layer, i.e., close the communication ports for the other quantum module

func (*QuantumlayerEmuPRNG) PowerOn

func (qlemuprng *QuantumlayerEmuPRNG) PowerOn()

Power on the quantum layer, i.e., open up the communication ports for the other quantum module

func (*QuantumlayerEmuPRNG) RemovePeer

func (qlemuprng *QuantumlayerEmuPRNG) RemovePeer()

Jump to

Keyboard shortcuts

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