package
0.0.0-20180220065759-986d81d64071
Repository: https://github.com/supernomad/quantum.git
Documentation: pkg.go.dev

# Functions

ArrayEquals returns true if both byte slices contain the same data.
GenerateFloatingMapping will take in the user defined configuration plus the currently defined mappins, in order to determine the floating mapping.
GenerateLocalMapping will take in the user defined configuration plus the currently defined mappings, in order to determine the local mapping.
IncrementIP will increment the given ipv4 net.IP by 1 in place.
IPtoInt takes an ipv4 net.IP and returns a uint32 that represents it.
NewConfig creates a new Config struct based on user supplied input.
NewFloatingMapping generates a new basic Mapping with no cryptographic metadata.
NewLogger creates a new logger struct based on the supplied LoggerType.
NewMapping generates a new basic Mapping with no cryptographic metadata.
NewSignaler generates a new Signaler object, which will watch for new os and user signals passed to the quantum process.
NewSockPayload is used to generate a payload based on a received Socket packet.
NewTunPayload is used to generate a payload based on a received TUN packet.
ParseMapping creates a new mapping based on the output of a Mapping.Bytes call.
ParseNetworkConfig from the data stored in the datastore.
StringInSlice returns true if the string 'a' is contained in the string array 'slice'.

# Constants

DebugLogger will output debug/info/warn/error logs.
ErrorLogger will only output error logs.
HeaderSize - The size of the data perpended tp the real packet.
InfoLogger will output info/warn/error logs.
IPEnd - The ip end position within a quantum packet.
IPLength - The length of the private ip header.
IPStart - The ip start position within a quantum packet.
MaxPacketLength - The maximum packet size to send via the UDP device.
MTU - The max size packet to receive from the TUN device.
NoopLogger will noop all logging calls this is only used for testing.
OverflowSize - An extra buffer for overflow of the MTU for plugins and other things to use incase its necessary.
PacketStart - The real packet start position within a quantum packet.
RealDeviceNameEnv is the environment variable that the real network device name is stored in for reloads.
WarnLogger will output warn/error logs.

# Structs

Config struct that handles marshalling in user supplied configuration data from cli arguments, environment variables, and configuration file entries.
Logger struct which allows for a single global point for logging configuration.
Mapping represents the relationship between a public/private address along with encryption metadata for a particular node in the quantum network.
NetworkConfig object to represent the current network setup.
Payload represents a packet traversing the quantum network.
Signaler struct used to manage os and user signals to the quantum process.

# Type aliases

LoggerType will determine the logging level of the logger object created.