protocols

package
v0.0.0-...-465a192 Latest Latest
Warning

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

Go to latest
Published: Jan 9, 2024 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const FAKE_LOCAL_UDP_SIMULATED_LOSS_PERCENTAGE = 0

FAKE_LOCAL_UDP_SIMULATED_LOSS_PERCENTAGE is the simulated loss percentage when we use a non-lossy local chanel

View Source
const MAX_UDP_SIZE int = 65507

MAX_UDP_SIZE is the max size of one broadcasted packet

View Source
const MULTICAST_ADDR string = "224.0.0.1"

MULTICAST_ADDR is the address used for multicasting

View Source
const ProtocolName = "PrifiProtocol"

ProtocolName is the name used to register the SDA wrapper protocol with SDA.

View Source
const UDP_PORT int = 10101

UPD_PORT is the port used for UDP broadcast

Variables

This section is empty.

Functions

func NewPriFiSDAWrapperProtocol

func NewPriFiSDAWrapperProtocol(n *onet.TreeNodeInstance) (onet.ProtocolInstance, error)

NewPriFiSDAWrapperProtocol creates a bare PrifiSDAWrapper struct. SetConfig **MUST** be called on it before it can participate to the protocol.

Types

type LocalhostChannel

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

LocalhostChannel is the fake, local UDP channel that uses channels

func (*LocalhostChannel) Broadcast

func (lc *LocalhostChannel) Broadcast(msg MarshallableMessage) error

Broadcast of LocalhostChannel is the implementation of broadcast for the fake localhost channel

func (*LocalhostChannel) ListenAndBlock

func (lc *LocalhostChannel) ListenAndBlock(emptyMessage MarshallableMessage, lastSeenMessage int, identityListening string) (interface{}, error)

ListenAndBlock of LocalhostChannel is the implementation of message reception for the fake localhost channel

type MarshallableMessage

type MarshallableMessage interface {
	Print()

	ToBytes() ([]byte, error)

	FromBytes(data []byte) (interface{}, error)
}

MarshallableMessage . Since we can only send []byte over UDP, each interface{} we want to send needs to implement MarshallableMessage. It has methods Print(), used for debug, ToBytes(), that converts it to a raw byte array, SetByte(), which simply store a byte array in the structure (but does not decode it), and FromBytes(), which decodes the interface{} from the inner buffer set by SetBytes()

type MessageSender

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

MessageSender is the struct we need to give PriFi-Lib so it can send messages. It needs to implement the "MessageSender interface" defined in prifi_lib/prifi.go

func (MessageSender) BroadcastToAllClients

func (ms MessageSender) BroadcastToAllClients(msg interface{}) error

BroadcastToAllClients broadcasts a message (must be a REL_CLI_DOWNSTREAM_DATA_UDP) to all clients using UDP

func (MessageSender) ClientSubscribeToBroadcast

func (ms MessageSender) ClientSubscribeToBroadcast(clientID int, messageReceived func(interface{}) error, startStopChan chan bool) error

ClientSubscribeToBroadcast allows a client to subscribe to UDP broadcast

func (MessageSender) FastSendToClient

func (ms MessageSender) FastSendToClient(i int, msg *net.REL_CLI_DOWNSTREAM_DATA) error

SendToClient sends a message to client i, or fails if it is unknown

func (MessageSender) FastSendToRelay

func (ms MessageSender) FastSendToRelay(msg *net.CLI_REL_UPSTREAM_DATA) error

SendToRelay sends a message to the unique relay

func (MessageSender) SendToClient

func (ms MessageSender) SendToClient(i int, msg interface{}) error

SendToClient sends a message to client i, or fails if it is unknown

func (MessageSender) SendToRelay

func (ms MessageSender) SendToRelay(msg interface{}) error

SendToRelay sends a message to the unique relay

func (MessageSender) SendToTrustee

func (ms MessageSender) SendToTrustee(i int, msg interface{}) error

SendToTrustee sends a message to trustee i, or fails if it is unknown

type PriFiIdentity

type PriFiIdentity struct {
	Role     PriFiRole
	ID       int
	ServerID *network.ServerIdentity
}

PriFiIdentity is the identity (role + ID)

type PriFiRole

type PriFiRole int

PriFiRole is the type of the enum to qualify the role of a SDA node (Relay, Client, Trustee)

const (
	Relay PriFiRole = iota
	Client
	Trustee
)

The possible states of a SDA node, of type PriFiRole

type PriFiSDAProtocol

type PriFiSDAProtocol struct {
	*onet.TreeNodeInstance

	ResultChannel chan interface{}

	HasStopped bool //when set to true, the protocol has been stopped by PriFi-lib and should be destroyed
	// contains filtered or unexported fields
}

PriFiSDAProtocol is the SDA-protocol struct. It contains the SDA-tree, and a chanel that stops the simulation when it receives a "true"

func (*PriFiSDAProtocol) Received_ALL_ALL_PARAMETERS_NEW

func (p *PriFiSDAProtocol) Received_ALL_ALL_PARAMETERS_NEW(msg Struct_ALL_ALL_PARAMETERS) error

Received_ALL_ALL_PARAMETERS forwards an ALL_ALL_PARAMETERS message to PriFi's lib

func (*PriFiSDAProtocol) Received_ALL_ALL_SHUTDOWN

func (p *PriFiSDAProtocol) Received_ALL_ALL_SHUTDOWN(msg Struct_ALL_ALL_SHUTDOWN) error

Received_ALL_ALL_SHUTDOWN shuts down the PriFi-lib if it is running

func (*PriFiSDAProtocol) Received_CLI_REL_CLI_REL_OPENCLOSED_DATA

func (p *PriFiSDAProtocol) Received_CLI_REL_CLI_REL_OPENCLOSED_DATA(msg Struct_CLI_REL_OPENCLOSED_DATA) error

Received_CLI_REL_UPSTREAM_DATA forwards an CLI_REL_UPSTREAM_DATA message to PriFi's lib

func (*PriFiSDAProtocol) Received_CLI_REL_DISRUPTION_BLAME

func (p *PriFiSDAProtocol) Received_CLI_REL_DISRUPTION_BLAME(msg Struct_CLI_REL_DISRUPTION_BLAME) error

Received_CLI_REL_DISRUPTION_BLAME forward an CLI_REL_DISRUPTION_BLAME message to PriFi's lib

func (*PriFiSDAProtocol) Received_CLI_REL_DISRUPTION_REVEAL

func (p *PriFiSDAProtocol) Received_CLI_REL_DISRUPTION_REVEAL(msg Struct_CLI_REL_DISRUPTION_REVEAL) error

Received_CLI_REL_DISRUPTION_REVEAL forward an CLI_REL_DISRUPTION_REVEAL message to PriFi's lib

func (*PriFiSDAProtocol) Received_CLI_REL_DISRUPTION_SECRET

func (p *PriFiSDAProtocol) Received_CLI_REL_DISRUPTION_SECRET(msg Struct_CLI_REL_DISRUPTION_SECRET) error

Received_CLI_REL_DISRUPTION_SECRET forward an CLI_REL_SHARED_SECRET message to PriFi's lib

func (*PriFiSDAProtocol) Received_CLI_REL_TELL_PK_AND_EPH_PK

func (p *PriFiSDAProtocol) Received_CLI_REL_TELL_PK_AND_EPH_PK(msg Struct_CLI_REL_TELL_PK_AND_EPH_PK) error

Received_CLI_REL_TELL_PK_AND_EPH_PK forwards an CLI_REL_TELL_PK_AND_EPH_PK message to PriFi's lib

func (*PriFiSDAProtocol) Received_CLI_REL_UPSTREAM_DATA

func (p *PriFiSDAProtocol) Received_CLI_REL_UPSTREAM_DATA(msg Struct_CLI_REL_UPSTREAM_DATA) error

Received_CLI_REL_UPSTREAM_DATA forwards an CLI_REL_UPSTREAM_DATA message to PriFi's lib

func (*PriFiSDAProtocol) Received_REL_ALL_DISRUPTION_REVEAL

func (p *PriFiSDAProtocol) Received_REL_ALL_DISRUPTION_REVEAL(msg Struct_REL_ALL_DISRUPTION_REVEAL) error

Received_REL_ALL_DISRUPTION_REVEAL forward an REL_ALL_DISRUPTION_REVEAL message to PriFi's lib

func (*PriFiSDAProtocol) Received_REL_ALL_DISRUPTION_SECRET

func (p *PriFiSDAProtocol) Received_REL_ALL_DISRUPTION_SECRET(msg Struct_REL_ALL_DISRUPTION_SECRET) error

Received_REL_ALL_REVEAL_SHARED_SECRETS forward an REL_ALL_REVEAL_SHARED_SECRETS message to PriFi's lib

func (*PriFiSDAProtocol) Received_REL_CLI_DISRUPTED_ROUND

func (p *PriFiSDAProtocol) Received_REL_CLI_DISRUPTED_ROUND(msg Struct_REL_CLI_DISRUPTED_ROUND) error

Received_REL_CLI_DISRUPTED_ROUND forward an REL_CLI_DISRUPTED_ROUND message to PriFi's lib

func (*PriFiSDAProtocol) Received_REL_CLI_DOWNSTREAM_DATA

func (p *PriFiSDAProtocol) Received_REL_CLI_DOWNSTREAM_DATA(msg Struct_REL_CLI_DOWNSTREAM_DATA) error

Received_REL_CLI_DOWNSTREAM_DATA forwards an REL_CLI_DOWNSTREAM_DATA message to PriFi's lib

func (*PriFiSDAProtocol) Received_REL_CLI_TELL_EPH_PKS_AND_TRUSTEES_SIG

func (p *PriFiSDAProtocol) Received_REL_CLI_TELL_EPH_PKS_AND_TRUSTEES_SIG(msg Struct_REL_CLI_TELL_EPH_PKS_AND_TRUSTEES_SIG) error

Received_REL_CLI_TELL_EPH_PKS_AND_TRUSTEES_SIG forwards an REL_CLI_TELL_EPH_PKS_AND_TRUSTEES_SIG message to PriFi's lib

func (*PriFiSDAProtocol) Received_REL_TRU_TELL_CLIENTS_PKS_AND_EPH_PKS_AND_BASE

func (p *PriFiSDAProtocol) Received_REL_TRU_TELL_CLIENTS_PKS_AND_EPH_PKS_AND_BASE(msg Struct_REL_TRU_TELL_CLIENTS_PKS_AND_EPH_PKS_AND_BASE) error

Received_REL_TRU_TELL_CLIENTS_PKS_AND_EPH_PKS_AND_BASE forward an ALL_ALL_PARAMETERS message to PriFi's lib

func (*PriFiSDAProtocol) Received_REL_TRU_TELL_RATE_CHANGE

func (p *PriFiSDAProtocol) Received_REL_TRU_TELL_RATE_CHANGE(msg Struct_REL_TRU_TELL_RATE_CHANGE) error

Received_REL_TRU_TELL_RATE_CHANGE forward an ALL_ALL_PARAMETERS message to PriFi's lib

func (*PriFiSDAProtocol) Received_REL_TRU_TELL_TRANSCRIPT

func (p *PriFiSDAProtocol) Received_REL_TRU_TELL_TRANSCRIPT(msg Struct_REL_TRU_TELL_TRANSCRIPT) error

Received_REL_TRU_TELL_TRANSCRIPT forward an ALL_ALL_PARAMETERS message to PriFi's lib

func (*PriFiSDAProtocol) Received_TRU_REL_DC_CIPHER

func (p *PriFiSDAProtocol) Received_TRU_REL_DC_CIPHER(msg Struct_TRU_REL_DC_CIPHER) error

Received_TRU_REL_DC_CIPHER forwards an TRU_REL_DC_CIPHER message to PriFi's lib

func (*PriFiSDAProtocol) Received_TRU_REL_DISRUPTION_REVEAL

func (p *PriFiSDAProtocol) Received_TRU_REL_DISRUPTION_REVEAL(msg Struct_TRU_REL_DISRUPTION_REVEAL) error

Received_TRU_REL_DISRUPTION_REVEAL forward an TRU_REL_DISRUPTION_REVEAL message to PriFi's lib

func (*PriFiSDAProtocol) Received_TRU_REL_DISRUPTION_SECRET

func (p *PriFiSDAProtocol) Received_TRU_REL_DISRUPTION_SECRET(msg Struct_TRU_REL_DISRUPTION_SECRET) error

Received_TRU_REL_DISRUPTION_SECRET forward an TRU_REL_SHARED_SECRET message to PriFi's lib

func (*PriFiSDAProtocol) Received_TRU_REL_SHUFFLE_SIG

func (p *PriFiSDAProtocol) Received_TRU_REL_SHUFFLE_SIG(msg Struct_TRU_REL_SHUFFLE_SIG) error

Received_TRU_REL_SHUFFLE_SIG forwards an TRU_REL_SHUFFLE_SIG message to PriFi's lib

func (*PriFiSDAProtocol) Received_TRU_REL_TELL_NEW_BASE_AND_EPH_PKS

func (p *PriFiSDAProtocol) Received_TRU_REL_TELL_NEW_BASE_AND_EPH_PKS(msg Struct_TRU_REL_TELL_NEW_BASE_AND_EPH_PKS) error

Received_TRU_REL_TELL_NEW_BASE_AND_EPH_PKS forwards an TRU_REL_TELL_NEW_BASE_AND_EPH_PKS message to PriFi's lib

func (*PriFiSDAProtocol) Received_TRU_REL_TELL_PK

func (p *PriFiSDAProtocol) Received_TRU_REL_TELL_PK(msg Struct_TRU_REL_TELL_PK) error

Received_TRU_REL_TELL_PK forward an ALL_ALL_PARAMETERS message to PriFi's lib

func (*PriFiSDAProtocol) SetConfigFromPriFiService

func (p *PriFiSDAProtocol) SetConfigFromPriFiService(config *PriFiSDAWrapperConfig)

SetConfig configures the PriFi node. It **MUST** be called in service.newProtocol or before Start().

func (*PriFiSDAProtocol) SetTimeoutHandler

func (p *PriFiSDAProtocol) SetTimeoutHandler(handler func([]string, []string))

SetTimeoutHandler sets the function that will be called on round timeout if the protocol runs as the relay.

func (*PriFiSDAProtocol) Start

func (p *PriFiSDAProtocol) Start() error

Start is called on the Relay by the service when ChurnHandler decides so

func (*PriFiSDAProtocol) Stop

func (p *PriFiSDAProtocol) Stop()

Stop aborts the current execution of the protocol.

type PriFiSDAWrapperConfig

type PriFiSDAWrapperConfig struct {
	Toml                  *PrifiTomlConfig
	Identities            map[string]PriFiIdentity
	Role                  PriFiRole
	ClientSideSocksConfig *SOCKSConfig
	RelaySideSocksConfig  *SOCKSConfig
	// contains filtered or unexported fields
}

PriFiSDAWrapperConfig is all the information the SDA-Protocols needs. It contains the network map of identities, our role, and the socks parameters if we are the corresponding role

type PrifiTomlConfig

type PrifiTomlConfig struct {
	EnforceSameVersionOnNodes               bool
	ForceConsoleColor                       bool
	OverrideLogLevel                        int
	ClientDataOutputEnabled                 bool
	RelayDataOutputEnabled                  bool
	PayloadSize                             int
	CellSizeDown                            int
	RelayWindowSize                         int
	RelayUseOpenClosedSlots                 bool
	RelayUseDummyDataDown                   bool
	RelayReportingLimit                     int
	UseUDP                                  bool
	DoLatencyTests                          bool
	SocksServerPort                         int
	SocksClientPort                         int
	ProtocolVersion                         string
	DCNetType                               string
	ReplayPCAP                              bool
	PCAPFolder                              string
	TrusteeSleepTimeBetweenMessages         int
	TrusteeAlwaysSlowDown                   bool
	TrusteeNeverSlowDown                    bool
	SimulDelayBetweenClients                int
	DisruptionProtectionEnabled             bool
	EquivocationProtectionEnabled           bool // not linked in the back
	OpenClosedSlotsMinDelayBetweenRequests  int
	RelayMaxNumberOfConsecutiveFailedRounds int
	RelayProcessingLoopSleepTime            int
	RelayRoundTimeOut                       int
	RelayTrusteeCacheLowBound               int
	RelayTrusteeCacheHighBound              int
	VerboseIngressEgressServers             bool
	ForceDisruptionSinceRound3              bool
}

The configuration read in prifi.toml

type RealUDPChannel

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

RealUDPChannel is the real UDP channel

func (*RealUDPChannel) Broadcast

func (c *RealUDPChannel) Broadcast(msg MarshallableMessage) error

Broadcast of RealUDPChannel is the implementation of broadcast for the real UDP channel

func (*RealUDPChannel) ListenAndBlock

func (c *RealUDPChannel) ListenAndBlock(emptyMessage MarshallableMessage, lastSeenMessage int, identityListening string) (interface{}, error)

ListenAndBlock of RealUDPChannel is the implementation of message reception for the real UDP channel

type SOCKSConfig

type SOCKSConfig struct {
	ListeningAddr     string
	Port              int
	PayloadSize       int
	UpstreamChannel   chan []byte
	DownstreamChannel chan []byte
}

SOCKSConfig contains the port, payload, and up/down channels for data

type Struct_ALL_ALL_PARAMETERS

type Struct_ALL_ALL_PARAMETERS struct {
	*onet.TreeNode
	net.ALL_ALL_PARAMETERS
}

Struct_ALL_ALL_PARAMETERS is a wrapper for ALL_ALL_PARAMETERS (but also contains a *onet.TreeNode)

type Struct_ALL_ALL_SHUTDOWN

type Struct_ALL_ALL_SHUTDOWN struct {
	*onet.TreeNode
	net.ALL_ALL_SHUTDOWN
}

Struct_ALL_ALL_SHUTDOWN is a wrapper for ALL_ALL_SHUTDOWN (but also contains a *onet.TreeNode)

type Struct_CLI_REL_DISRUPTION_BLAME

type Struct_CLI_REL_DISRUPTION_BLAME struct {
	*onet.TreeNode
	net.CLI_REL_DISRUPTION_BLAME
}

Struct_CLI_REL_DISRUPTION_BLAME is a wrapper for CLI_REL_DISRUPTION_BLAME (but also contains a *onet.TreeNode)

type Struct_CLI_REL_DISRUPTION_REVEAL

type Struct_CLI_REL_DISRUPTION_REVEAL struct {
	*onet.TreeNode
	net.CLI_REL_DISRUPTION_REVEAL
}

Struct_CLI_REL_DISRUPTION_REVEAL is a wrapper for CLI_REL_DISRUPTION_REVEAL (but also contains a *onet.TreeNode)

type Struct_CLI_REL_DISRUPTION_SECRET

type Struct_CLI_REL_DISRUPTION_SECRET struct {
	*onet.TreeNode
	net.CLI_REL_SHARED_SECRET
}

Struct_CLI_REL_DISRUPTION_SECRET is a wrapper for CLI_REL_SHARED_SECRET (but also contains a *onet.TreeNode)

type Struct_CLI_REL_OPENCLOSED_DATA

type Struct_CLI_REL_OPENCLOSED_DATA struct {
	*onet.TreeNode
	net.CLI_REL_OPENCLOSED_DATA
}

Struct_CLI_REL_UPSTREAM_DATA is a wrapper for CLI_REL_OPENCLOSED_DATA (but also contains a *onet.TreeNode)

type Struct_CLI_REL_TELL_PK_AND_EPH_PK

type Struct_CLI_REL_TELL_PK_AND_EPH_PK struct {
	*onet.TreeNode
	net.CLI_REL_TELL_PK_AND_EPH_PK
}

Struct_CLI_REL_TELL_PK_AND_EPH_PK is a wrapper for CLI_REL_TELL_PK_AND_EPH_PK (but also contains a *onet.TreeNode)

type Struct_CLI_REL_UPSTREAM_DATA

type Struct_CLI_REL_UPSTREAM_DATA struct {
	*onet.TreeNode
	net.CLI_REL_UPSTREAM_DATA
}

Struct_CLI_REL_UPSTREAM_DATA is a wrapper for CLI_REL_UPSTREAM_DATA (but also contains a *onet.TreeNode)

type Struct_REL_ALL_DISRUPTION_REVEAL

type Struct_REL_ALL_DISRUPTION_REVEAL struct {
	*onet.TreeNode
	net.REL_ALL_DISRUPTION_REVEAL
}

Struct_REL_ALL_DISRUPTION_REVEAL is a wrapper for REL_ALL_DISRUPTION_REVEAL (but also contains a *onet.TreeNode)

type Struct_REL_ALL_DISRUPTION_SECRET

type Struct_REL_ALL_DISRUPTION_SECRET struct {
	*onet.TreeNode
	net.REL_ALL_REVEAL_SHARED_SECRETS
}

Struct_REL_ALL_DISRUPTION_SECRET is a wrapper for REL_ALL_REVEAL_SHARED_SECRETS (but also contains a *onet.TreeNode)

type Struct_REL_CLI_DISRUPTED_ROUND

type Struct_REL_CLI_DISRUPTED_ROUND struct {
	*onet.TreeNode
	net.REL_CLI_DISRUPTED_ROUND
}

Struct_REL_CLI_DISRUPTED_ROUND is a wrapper for REL_CLI_DISRUPTED_ROUND (but also contains a *onet.TreeNode)

type Struct_REL_CLI_DOWNSTREAM_DATA

type Struct_REL_CLI_DOWNSTREAM_DATA struct {
	*onet.TreeNode
	net.REL_CLI_DOWNSTREAM_DATA
}

Struct_REL_CLI_DOWNSTREAM_DATA is a wrapper for REL_CLI_DOWNSTREAM_DATA (but also contains a *onet.TreeNode)

type Struct_REL_CLI_TELL_EPH_PKS_AND_TRUSTEES_SIG

type Struct_REL_CLI_TELL_EPH_PKS_AND_TRUSTEES_SIG struct {
	*onet.TreeNode
	net.REL_CLI_TELL_EPH_PKS_AND_TRUSTEES_SIG
}

Struct_REL_CLI_TELL_EPH_PKS_AND_TRUSTEES_SIG is a wrapper for REL_CLI_TELL_EPH_PKS_AND_TRUSTEES_SIG (but also contains a *onet.TreeNode)

type Struct_REL_TRU_TELL_CLIENTS_PKS_AND_EPH_PKS_AND_BASE

type Struct_REL_TRU_TELL_CLIENTS_PKS_AND_EPH_PKS_AND_BASE struct {
	*onet.TreeNode
	net.REL_TRU_TELL_CLIENTS_PKS_AND_EPH_PKS_AND_BASE
}

Struct_REL_TRU_TELL_CLIENTS_PKS_AND_EPH_PKS_AND_BASE is a wrapper for REL_TRU_TELL_CLIENTS_PKS_AND_EPH_PKS_AND_BASE (but also contains a *onet.TreeNode)

type Struct_REL_TRU_TELL_RATE_CHANGE

type Struct_REL_TRU_TELL_RATE_CHANGE struct {
	*onet.TreeNode
	net.REL_TRU_TELL_RATE_CHANGE
}

Struct_REL_TRU_TELL_RATE_CHANGE is a wrapper for REL_TRU_TELL_RATE_CHANGE (but also contains a *onet.TreeNode)

type Struct_REL_TRU_TELL_TRANSCRIPT

type Struct_REL_TRU_TELL_TRANSCRIPT struct {
	*onet.TreeNode
	net.REL_TRU_TELL_TRANSCRIPT
}

Struct_REL_TRU_TELL_TRANSCRIPT is a wrapper for REL_TRU_TELL_TRANSCRIPT (but also contains a *onet.TreeNode)

type Struct_TRU_REL_DC_CIPHER

type Struct_TRU_REL_DC_CIPHER struct {
	*onet.TreeNode
	net.TRU_REL_DC_CIPHER
}

Struct_TRU_REL_DC_CIPHER is a wrapper for TRU_REL_DC_CIPHER (but also contains a *onet.TreeNode)

type Struct_TRU_REL_DISRUPTION_REVEAL

type Struct_TRU_REL_DISRUPTION_REVEAL struct {
	*onet.TreeNode
	net.TRU_REL_DISRUPTION_REVEAL
}

Struct_TRU_REL_DISRUPTION_REVEAL is a wrapper for TRU_REL_DISRUPTION_REVEAL (but also contains a *onet.TreeNode)

type Struct_TRU_REL_DISRUPTION_SECRET

type Struct_TRU_REL_DISRUPTION_SECRET struct {
	*onet.TreeNode
	net.TRU_REL_SHARED_SECRET
}

Struct_TRU_REL_DISRUPTION_SECRET is a wrapper for TRU_REL_SHARED_SECRET (but also contains a *onet.TreeNode)

type Struct_TRU_REL_SHUFFLE_SIG

type Struct_TRU_REL_SHUFFLE_SIG struct {
	*onet.TreeNode
	net.TRU_REL_SHUFFLE_SIG
}

Struct_TRU_REL_SHUFFLE_SIG is a wrapper for TRU_REL_SHUFFLE_SIG (but also contains a *onet.TreeNode)

type Struct_TRU_REL_TELL_NEW_BASE_AND_EPH_PKS

type Struct_TRU_REL_TELL_NEW_BASE_AND_EPH_PKS struct {
	*onet.TreeNode
	net.TRU_REL_TELL_NEW_BASE_AND_EPH_PKS
}

Struct_TRU_REL_TELL_NEW_BASE_AND_EPH_PKS is a wrapper for TRU_REL_TELL_NEW_BASE_AND_EPH_PKS (but also contains a *onet.TreeNode)

type Struct_TRU_REL_TELL_PK

type Struct_TRU_REL_TELL_PK struct {
	*onet.TreeNode
	net.TRU_REL_TELL_PK
}

Struct_TRU_REL_TELL_PK is a wrapper for TRU_REL_TELL_PK (but also contains a *onet.TreeNode)

type TCPChannel

type TCPChannel struct {
	MessageHandler func([]byte)
	// contains filtered or unexported fields
}

RealUDPChannel is the real UDP channel

func (*TCPChannel) ConnectToServer

func (t *TCPChannel) ConnectToServer(addr string) error

ConnectToServer connects to the fast delivery server

func (*TCPChannel) StartListener

func (t *TCPChannel) StartListener(port int) error

StartListener creates a server listener on the given port, and process up to one TCP connection on it

func (*TCPChannel) WriteMessage

func (t *TCPChannel) WriteMessage(msg []byte)

If the connection is ready, write the byte message into it.

type UDPChannel

type UDPChannel interface {
	Broadcast(msg MarshallableMessage) error

	//we take an empty MarshallableMessage as input, because the method does know how to parse the message
	ListenAndBlock(msg MarshallableMessage, lastSeenMessage int, identityListening string) (interface{}, error)
}

UDPChannel is the interface for UDP channel, since this class has two implementation.

Jump to

Keyboard shortcuts

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