Documentation ¶
Index ¶
- Constants
- type APIConnectionLiveService
- type APIProcessConnectionWrapper
- func (c *APIProcessConnectionWrapper) AddProcessInvigoratingService(new_lservice APIConnectionLiveService)
- func (c *APIProcessConnectionWrapper) Close() error
- func (c *APIProcessConnectionWrapper) GetObjectId() string
- func (c *APIProcessConnectionWrapper) IsConnected() bool
- func (c *APIProcessConnectionWrapper) Kill()
- func (c *APIProcessConnectionWrapper) Read(b []byte) (int, error)
- func (c *APIProcessConnectionWrapper) RemoveProcessInvigoratingService(new_lservice APIConnectionLiveService)
- func (c *APIProcessConnectionWrapper) Write(b []byte) (int, error)
- type ClientModule
- type ClientModuleMetaData
- type ConnectionIoType
- type ExternalModule
- type FirewallBaseStructure
- type Kernel
- func (obj *Kernel) APIFetchAllRelays() ([]apiclient.ApiRelayEntry, error)
- func (obj *Kernel) AddNewConnection(relay *Relay, conn RelayConnection) error
- func (obj *Kernel) CreateNewTempKeyPair() (string, error)
- func (obj *Kernel) CreateOTKECDHKey(otk_id string, dest_pkey *btcec.PublicKey) (string, error)
- func (obj *Kernel) DecryptOTKECDHById(algo utils.EncryptionAlgo, otk_id string, data []byte) ([]byte, error)
- func (obj *Kernel) DecryptWithPrivateRelayKey(cipher_data []byte) ([]byte, error)
- func (obj *Kernel) DecryptedLocallyPackageToBuffer(pckge *addresspackages.SendableAddressLayerPackage) error
- func (obj *Kernel) DumpsRoutesForRelayByConnection(conn RelayConnection) (bool, bool)
- func (obj *Kernel) EncryptOTKECDHById(algo utils.EncryptionAlgo, otk_id string, data []byte) ([]byte, error)
- func (obj *Kernel) EncryptPlainL2PackageAndWriteByNetworkRoute(pckge *addresspackages.AddressLayerPackage) (*extra.PackageSendState, error)
- func (obj *Kernel) EnterBytesAndSendL2PackageToNetwork(protocol_type uint8, package_bytes []byte, reciver_pkey *btcec.PublicKey, ...) (*extra.PackageSendState, error)
- func (obj *Kernel) EnterBytesEncryptAndSendL2PackageToNetwork(protocol_type uint8, package_bytes []byte, reciver_pkey *btcec.PublicKey) (*extra.PackageSendState, error)
- func (obj *Kernel) EnterL2Package(pckge *addresspackages.SendableAddressLayerPackage, conn RelayConnection) error
- func (obj *Kernel) EnterLocallyPackage(pckge *addresspackages.AddressLayerPackage) error
- func (obj *Kernel) EnterPlainPCIPackage(pckge *addresspackages.SendableAddressLayerPackage, conn RelayConnection)
- func (obj *Kernel) GetClientProtocolByName(prot_name string) (ClientModule, error)
- func (obj *Kernel) GetCurrentUTCTimeInSecondsByNTP()
- func (obj *Kernel) GetIPBasedServersForP2PConnection(res_ip string) []P2PKernelServerWithProtocol
- func (obj *Kernel) GetKernelID() string
- func (obj *Kernel) GetKernelProtocolById(protocol_type uint8) (KernelTypeProtocol, error)
- func (obj *Kernel) GetPublicKey() *btcec.PublicKey
- func (obj *Kernel) GetPublicTempKeyById(temp_key_id string) (*btcec.PublicKey, error)
- func (obj *Kernel) GetRegisteredKernelTypeProtocol(tpe uint8) (KernelTypeProtocol, error)
- func (obj *Kernel) GetTrustedRelayByPublicKey(pkey *btcec.PublicKey) (*Relay, error)
- func (obj *Kernel) GetTrustedRelays() ([]*Relay, error)
- func (obj *Kernel) HasKernelProtocol(protocol_type uint8) bool
- func (obj *Kernel) IsLocallyAddress(pubkey btcec.PublicKey) bool
- func (obj *Kernel) IsRunning() bool
- func (obj *Kernel) ListOutboundTrustedAvaileRelays() ([]RelayOutboundPair, error)
- func (obj *Kernel) LoadExternalKernelModules() error
- func (obj *Kernel) PlainL2PackageAndWriteByNetworkRoute(pckge *addresspackages.AddressLayerPackage, please_check_instructions bool) (*extra.PackageSendState, error)
- func (obj *Kernel) PlainLocallyPackageToBuffer(pckge *addresspackages.SendableAddressLayerPackage) error
- func (obj *Kernel) RegisterAPIInterface(api_interace *KernelAPI) error
- func (obj *Kernel) RegisterClientModule(csep ClientModule) error
- func (obj *Kernel) RegisterNewKernelTypeProtocol(tpe uint8, pckgtf KernelTypeProtocol) error
- func (obj *Kernel) RegisterServerModule(lcsep ServerModule) error
- func (obj *Kernel) RemoveConnection(conn RelayConnection) error
- func (obj *Kernel) ServKernel(wms uint64)
- func (obj *Kernel) Serve() error
- func (obj *Kernel) Shutdown()
- func (obj *Kernel) SignWithRelayKey(digest []byte) ([]byte, error)
- func (obj *Kernel) SignWithTempKeyId(temp_key_id string, digest []byte) ([]byte, error)
- func (obj *Kernel) Start() error
- func (obj *Kernel) WriteL2PackageByNetworkRoute(pckge *addresspackages.SendableAddressLayerPackage) (*extra.PackageSendState, error)
- type KernelAPI
- type KernelPackageProtocolEntry
- type KernelTypeProtocol
- type Kf
- type P2PKernelServerWithProtocol
- type ProxyConfig
- type Relay
- type RelayConnection
- type RelayConnectionEntry
- func (obj *RelayConnectionEntry) AddConnection(conn RelayConnection) error
- func (obj *RelayConnectionEntry) BufferL2PackageAndWrite(pckg *addresspackages.SendableAddressLayerPackage) (*extra.PackageSendState, error)
- func (obj *RelayConnectionEntry) CloseByKernel()
- func (obj *RelayConnectionEntry) ConnectionIsKnown(conn RelayConnection) bool
- func (obj *RelayConnectionEntry) Equal(p2 *Relay) bool
- func (obj *RelayConnectionEntry) GetAllMetaInformationsOfRelayConnections() []RelayConnectionMetaData
- func (obj *RelayConnectionEntry) GetAveragePingTimeMS() uint64
- func (obj *RelayConnectionEntry) GetInbouncConnections() []RelayConnection
- func (obj *RelayConnectionEntry) GetOutboundConnections() []RelayConnection
- func (obj *RelayConnectionEntry) GetTotalConenctions() uint64
- func (obj *RelayConnectionEntry) GetTotalReadedBytes() uint64
- func (obj *RelayConnectionEntry) GetTotalWritedBytes() uint64
- func (obj *RelayConnectionEntry) HasActiveConnection() bool
- func (obj *RelayConnectionEntry) HasActiveRouteList() bool
- func (obj *RelayConnectionEntry) Hash() uint32
- func (obj *RelayConnectionEntry) IsTrustedConnection() bool
- func (obj *RelayConnectionEntry) RegisterRouteList(rlist *routingmanager.RelayRoutesList) bool
- func (obj *RelayConnectionEntry) RemoveConnection(conn RelayConnection) error
- type RelayConnectionMetaData
- type RelayConnectionRoutingTable
- func (obj *RelayConnectionRoutingTable) EnterPackageToRoutingManger(pckg *addresspackages.SendableAddressLayerPackage) (*extra.PackageSendState, error)
- func (obj *RelayConnectionRoutingTable) GetAllMetaInformationsOfRelayConnections(relay *Relay) (*RelayMetaData, error)
- func (obj *RelayConnectionRoutingTable) GetRelayByConnection(conn RelayConnection) (*Relay, bool, error)
- func (obj *RelayConnectionRoutingTable) GetTotalRelayConnections(relay *Relay) uint64
- func (obj *RelayConnectionRoutingTable) HasActiveConnections() bool
- func (obj *RelayConnectionRoutingTable) InitRoutesForRelay(rlay *Relay, routes *routingmanager.RelayRoutesList) (bool, bool)
- func (obj *RelayConnectionRoutingTable) RegisterNewRelayConnection(relay *Relay, conn RelayConnection) error
- func (obj *RelayConnectionRoutingTable) RelayIsConnected(relay *Relay) bool
- func (obj *RelayConnectionRoutingTable) RemoveConnectionFromRelay(conn RelayConnection) error
- func (obj *RelayConnectionRoutingTable) ShutdownByKernel()
- type RelayDirectoryService
- type RelayMetaData
- type RelayOutboundPair
- type ServerModule
- type TrustedRelays
Constants ¶
const ( INBOUND = ConnectionIoType(1) OUTBOUND = ConnectionIoType(2) )
Definiert ein oder ausgehende Verbindungestypen
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIConnectionLiveService ¶
type APIConnectionLiveService interface { GetId() string Close() }
Stellt einen Dienst dar
type APIProcessConnectionWrapper ¶
type APIProcessConnectionWrapper struct {
// contains filtered or unexported fields
}
Stellt den Verbindungs Wrapper dar
func (*APIProcessConnectionWrapper) AddProcessInvigoratingService ¶
func (c *APIProcessConnectionWrapper) AddProcessInvigoratingService(new_lservice APIConnectionLiveService)
Registriert einen "Service" welcher geschlossen wird sobald die Verbindung zum Prozess getrennt wird
func (*APIProcessConnectionWrapper) Close ¶
func (c *APIProcessConnectionWrapper) Close() error
Schließt die Verbindung
func (*APIProcessConnectionWrapper) GetObjectId ¶
func (c *APIProcessConnectionWrapper) GetObjectId() string
Gibt die Objekt ID aus
func (*APIProcessConnectionWrapper) IsConnected ¶
func (c *APIProcessConnectionWrapper) IsConnected() bool
Gibt an ob die Verbindung aufgebaut ist
func (*APIProcessConnectionWrapper) Kill ¶
func (c *APIProcessConnectionWrapper) Kill()
Signalisiert dass alle Prozesse geschlossen werden sollen
func (*APIProcessConnectionWrapper) Read ¶
func (c *APIProcessConnectionWrapper) Read(b []byte) (int, error)
Ließt Daten aus der Verbindung
func (*APIProcessConnectionWrapper) RemoveProcessInvigoratingService ¶
func (c *APIProcessConnectionWrapper) RemoveProcessInvigoratingService(new_lservice APIConnectionLiveService)
Entfernt einen "Service"
type ClientModule ¶
type ClientModule interface { GetObjectId() string RegisterKernel(kernel *Kernel) error GetMetaDataInfo() ClientModuleMetaData ConnectTo(string, *btcec.PublicKey, *ProxyConfig) error GetProtocol() string Shutdown() Serve() }
Stellt ein Client Modul dar
type ClientModuleMetaData ¶
type ClientModuleMetaData struct { }
Gibt den Datentypen an, welcher von einem Client Module zurückgegeben wird
type ConnectionIoType ¶
type ConnectionIoType uint8
Gibt an ob es sich um eine Eingehende oder um eine Ausgehende Verbindung handelt
type ExternalModule ¶
Stellt die Module Funktionen bereit
type FirewallBaseStructure ¶
type FirewallBaseStructure interface { }
Stellt die Basisfunktionen einer Firewall dar
type Kernel ¶
type Kernel struct {
// contains filtered or unexported fields
}
Stellt das Kernel Objekt dar
func CreateUnixKernel ¶
Erstellt einen UNIX Kernel
func (*Kernel) APIFetchAllRelays ¶
func (obj *Kernel) APIFetchAllRelays() ([]apiclient.ApiRelayEntry, error)
Ruft alle Relays ab
func (*Kernel) AddNewConnection ¶
func (obj *Kernel) AddNewConnection(relay *Relay, conn RelayConnection) error
Markiert einen Relay als Verbunden
func (*Kernel) CreateNewTempKeyPair ¶
Erstellt ein neues Schlüsselpaar, der Zugriff auf den Privaten Schlüssel ist nicht möglich
func (*Kernel) CreateOTKECDHKey ¶
Erstellt einen OTK ECDH Schlüssel aus einem Öffentlichen Schlüssel und der OTK-ID
func (*Kernel) DecryptOTKECDHById ¶
func (obj *Kernel) DecryptOTKECDHById(algo utils.EncryptionAlgo, otk_id string, data []byte) ([]byte, error)
Entschlüsselt einen Datensatz mit dem OTK ECDH Schlüssel
func (*Kernel) DecryptWithPrivateRelayKey ¶
Wird verwendet um einen Verschlüsselten Datensatz mit dem Privaten Relay Schlüssel zu enschlüsseln
func (*Kernel) DecryptedLocallyPackageToBuffer ¶
func (obj *Kernel) DecryptedLocallyPackageToBuffer(pckge *addresspackages.SendableAddressLayerPackage) error
Entschlüsselt ein Lokales Paket und Speichert es im Puffer
func (*Kernel) DumpsRoutesForRelayByConnection ¶
func (obj *Kernel) DumpsRoutesForRelayByConnection(conn RelayConnection) (bool, bool)
Wird verwendet um die Routen für ein Relay zu Laden
func (*Kernel) EncryptOTKECDHById ¶
func (obj *Kernel) EncryptOTKECDHById(algo utils.EncryptionAlgo, otk_id string, data []byte) ([]byte, error)
Verschlüsselt einen Datensatz mit dem OTK ECDH Schlüssel
func (*Kernel) EncryptPlainL2PackageAndWriteByNetworkRoute ¶
func (obj *Kernel) EncryptPlainL2PackageAndWriteByNetworkRoute(pckge *addresspackages.AddressLayerPackage) (*extra.PackageSendState, error)
Verschlüsselt ein nicht Verschlüsseltes Layer 2 Paket, Signiert es und Sendet es ins Netzwerk
func (*Kernel) EnterBytesAndSendL2PackageToNetwork ¶
func (obj *Kernel) EnterBytesAndSendL2PackageToNetwork(protocol_type uint8, package_bytes []byte, reciver_pkey *btcec.PublicKey, please_check_instructions bool) (*extra.PackageSendState, error)
Nimmt einen Datensatz von einem Protokoll entgegen und überträgt es als Layer 2 Paket (unverschlüsselt)
func (*Kernel) EnterBytesEncryptAndSendL2PackageToNetwork ¶
func (obj *Kernel) EnterBytesEncryptAndSendL2PackageToNetwork(protocol_type uint8, package_bytes []byte, reciver_pkey *btcec.PublicKey) (*extra.PackageSendState, error)
Nimmt einen Datensatz von einem Protokoll entgegen verschlüsselt ihn und überträgt es als Layer 2 Paket (verschlüsselt)
func (*Kernel) EnterL2Package ¶
func (obj *Kernel) EnterL2Package(pckge *addresspackages.SendableAddressLayerPackage, conn RelayConnection) error
Nimmt eintreffende Layer 2 Pakete entgegen
func (*Kernel) EnterLocallyPackage ¶
func (obj *Kernel) EnterLocallyPackage(pckge *addresspackages.AddressLayerPackage) error
Nimmt Lokale Pakete entgegen und verarbeitet sie
func (*Kernel) EnterPlainPCIPackage ¶
func (obj *Kernel) EnterPlainPCIPackage(pckge *addresspackages.SendableAddressLayerPackage, conn RelayConnection)
Nimmt ein Plain PCI Paket entgegen
func (*Kernel) GetClientProtocolByName ¶
func (obj *Kernel) GetClientProtocolByName(prot_name string) (ClientModule, error)
Gibt ein verfügabres Client Protokoll zurück
func (*Kernel) GetCurrentUTCTimeInSecondsByNTP ¶
func (obj *Kernel) GetCurrentUTCTimeInSecondsByNTP()
Diese Funktion gibt die Aktuelle Unix Zeit in Sekunden an
func (*Kernel) GetIPBasedServersForP2PConnection ¶
func (obj *Kernel) GetIPBasedServersForP2PConnection(res_ip string) []P2PKernelServerWithProtocol
Gibt an ob es einen IP Basierenden Server gibt
func (*Kernel) GetKernelProtocolById ¶
func (obj *Kernel) GetKernelProtocolById(protocol_type uint8) (KernelTypeProtocol, error)
Gibt das Kernel Protokoll zurück
func (*Kernel) GetPublicKey ¶
func (obj *Kernel) GetPublicKey() *btcec.PublicKey
Gibt den Öffentlichen Schlüssel des Relays aus
func (*Kernel) GetPublicTempKeyById ¶
Gibt einen Öffentlichen Temporären Schlüssel anhand seiner ID aus
func (*Kernel) GetRegisteredKernelTypeProtocol ¶
func (obj *Kernel) GetRegisteredKernelTypeProtocol(tpe uint8) (KernelTypeProtocol, error)
Prüft ob es für den Typen einen bekannten Paket handler gibt
func (*Kernel) GetTrustedRelayByPublicKey ¶
Gibt einen Relay anhand seinens PublicKeys zurück
func (*Kernel) GetTrustedRelays ¶
Gibt eine Liste mit allen Verfügbaren Relays zurück
func (*Kernel) HasKernelProtocol ¶
Gibt an ob ein bestimmtes Protocol vorhanden ist
func (*Kernel) IsLocallyAddress ¶
Gibt an ob es sich um eine Lokale Adresse handelt
func (*Kernel) ListOutboundTrustedAvaileRelays ¶
func (obj *Kernel) ListOutboundTrustedAvaileRelays() ([]RelayOutboundPair, error)
Gibt eine Liste mit Verfügabren Relays aus mit denen eine Verbindung möglich ist
func (*Kernel) LoadExternalKernelModules ¶
Wird verwendet um Third Party oder Externe Kernel Module zu laden
func (*Kernel) PlainL2PackageAndWriteByNetworkRoute ¶
func (obj *Kernel) PlainL2PackageAndWriteByNetworkRoute(pckge *addresspackages.AddressLayerPackage, please_check_instructions bool) (*extra.PackageSendState, error)
Signiert ein Layer 2 Paket und sendet es unverschlüsselt an das Netzwerk
func (*Kernel) PlainLocallyPackageToBuffer ¶
func (obj *Kernel) PlainLocallyPackageToBuffer(pckge *addresspackages.SendableAddressLayerPackage) error
Nimmt ein nicht verschlüsseltes Lokales Paket entgegen
func (*Kernel) RegisterAPIInterface ¶
Registriert eine API Schnitstellt
func (*Kernel) RegisterClientModule ¶
func (obj *Kernel) RegisterClientModule(csep ClientModule) error
Fügt eine Clientfunktion hinzu, diese Erlaubt ausgehende Verbindungen
func (*Kernel) RegisterNewKernelTypeProtocol ¶
func (obj *Kernel) RegisterNewKernelTypeProtocol(tpe uint8, pckgtf KernelTypeProtocol) error
Registtriert einen neuen Kernel Package Type
func (*Kernel) RegisterServerModule ¶
func (obj *Kernel) RegisterServerModule(lcsep ServerModule) error
Fügt einen Lokalen Server Endpunkt hinzu
func (*Kernel) RemoveConnection ¶
func (obj *Kernel) RemoveConnection(conn RelayConnection) error
Markiert einen Relay als nicht mehr Verbunden
func (*Kernel) ServKernel ¶
Wird verwendet um zu Warten bis der Kernel läuft
func (*Kernel) SignWithRelayKey ¶
Wird verwendet um eine Signatur mit dem Relay Key zu Signieren
func (*Kernel) SignWithTempKeyId ¶
Wird verwendet um einen Hash mit Temprären Schlüssel zu Signieren
func (*Kernel) WriteL2PackageByNetworkRoute ¶
func (obj *Kernel) WriteL2PackageByNetworkRoute(pckge *addresspackages.SendableAddressLayerPackage) (*extra.PackageSendState, error)
Wird verwendet um Pakete an das Netzwerk zu senden
type KernelAPI ¶
type KernelAPI struct {
// contains filtered or unexported fields
}
Stellt die KernelAPI dar
type KernelPackageProtocolEntry ¶
type KernelPackageProtocolEntry struct { Ptf KernelTypeProtocol Tpe uint8 }
Stellt den Eintrag für einen Funktionstypen Hadnler dar
type KernelTypeProtocol ¶
type KernelTypeProtocol interface { EnterRecivedPackage(*addresspackages.AddressLayerPackage) error EnterCommandData(string, [][]byte, *APIProcessConnectionWrapper) (map[string]interface{}, error) RegisterKernel(kernel *Kernel) error GetProtocolName() string GetObjectId() string }
Gibt die Registrierte Paketfunktion an
type Kf ¶
type Kf struct {
// contains filtered or unexported fields
}
Stellt das Kernel API Interface dar
func (*Kf) FetchAllAddresses ¶
Ruft alle Lokalen Adressen ab
func (*Kf) FetchRelays ¶
Ruft alle Verfügbren Relays ab
func (*Kf) PassCommandArgsToProtocol ¶
func (s *Kf) PassCommandArgsToProtocol(args apiclient.CommandArgs, reply *map[string]interface{}) error
Leitet API befehle an ein API Protocol weiter
type P2PKernelServerWithProtocol ¶
Stellt ein Möglichen P2P Server Port und Protokoll verfügbar
type Relay ¶
type Relay struct {
// contains filtered or unexported fields
}
func NewUntrustedRelay ¶
func NewUntrustedRelay(public_key *btcec.PublicKey, last_useed int64, end_point string, tpe string) *Relay
Erstellt ein nicht Vertrauenswürdiges Relay
func (*Relay) GetEndpoint ¶
Gibt den Endpunkt der Gegenseite aus
func (*Relay) GetPublicKey ¶
func (obj *Relay) GetPublicKey() *btcec.PublicKey
Gibt den Öffentlichen Schlüssel aus
func (*Relay) GetPublicKeyHexString ¶
Gibt den Öffentlichen Schlüssel als hexstring aus
type RelayConnection ¶
type RelayConnection interface { EnterSendableData([]byte) (*extra.PackageSendState, error) GetSessionPKey() (*btcec.PublicKey, error) RegisterKernel(kernel *Kernel) error GetTxRxBytes() (uint64, uint64) GetIOType() ConnectionIoType CannUseToWrite() bool GetPingTime() uint64 GetProtocol() string GetObjectId() string FinallyInit() error IsConnected() bool IsFinally() bool CloseByKernel() }
Stellt eine Verbindung dar
type RelayConnectionEntry ¶
type RelayConnectionEntry struct { PingTime []uint64 RelayLink Relay Connections []RelayConnection // contains filtered or unexported fields }
Stellt einen Relay Eintrag dar
func (*RelayConnectionEntry) AddConnection ¶
func (obj *RelayConnectionEntry) AddConnection(conn RelayConnection) error
Fügt dem Eintrag eine neue Verbindung hinzu
func (*RelayConnectionEntry) BufferL2PackageAndWrite ¶
func (obj *RelayConnectionEntry) BufferL2PackageAndWrite(pckg *addresspackages.SendableAddressLayerPackage) (*extra.PackageSendState, error)
Nimmt Pakete entgegen welche gesendet werden sollen
func (*RelayConnectionEntry) CloseByKernel ¶
func (obj *RelayConnectionEntry) CloseByKernel()
Wird ausgeführt wenn der Kernel Signalisiert dass die Verbindung getrennt werden soll
func (*RelayConnectionEntry) ConnectionIsKnown ¶
func (obj *RelayConnectionEntry) ConnectionIsKnown(conn RelayConnection) bool
Gibt an ob es sich um eine bekannte Verbindung handelt
func (*RelayConnectionEntry) Equal ¶
func (obj *RelayConnectionEntry) Equal(p2 *Relay) bool
Gibt an, ob es sich um die gleiche Verbindung handelt
func (*RelayConnectionEntry) GetAllMetaInformationsOfRelayConnections ¶
func (obj *RelayConnectionEntry) GetAllMetaInformationsOfRelayConnections() []RelayConnectionMetaData
Gibt die Metadaten des Relay Eintrags zurück
func (*RelayConnectionEntry) GetAveragePingTimeMS ¶
func (obj *RelayConnectionEntry) GetAveragePingTimeMS() uint64
Gibt den Durchschnittlichen Ping an
func (*RelayConnectionEntry) GetInbouncConnections ¶
func (obj *RelayConnectionEntry) GetInbouncConnections() []RelayConnection
Gibt alle Eingehenden Verbindungen aus
func (*RelayConnectionEntry) GetOutboundConnections ¶
func (obj *RelayConnectionEntry) GetOutboundConnections() []RelayConnection
Gibt alle Ausgehenden Verbindungen an
func (*RelayConnectionEntry) GetTotalConenctions ¶
func (obj *RelayConnectionEntry) GetTotalConenctions() uint64
Gibt die Gesamtzahl aller Verfügabren Verbindungen zurück
func (*RelayConnectionEntry) GetTotalReadedBytes ¶
func (obj *RelayConnectionEntry) GetTotalReadedBytes() uint64
Gibt an weiviele Daten zum jetzigen Zeitpunkt Empfangen wurden
func (*RelayConnectionEntry) GetTotalWritedBytes ¶
func (obj *RelayConnectionEntry) GetTotalWritedBytes() uint64
Gibt an wieviele Daten zum jetzigen Zeitpunk gesendet wurden
func (*RelayConnectionEntry) HasActiveConnection ¶
func (obj *RelayConnectionEntry) HasActiveConnection() bool
Gibt an ob der Relay mindestens eine Aktive Verbindung hat
func (*RelayConnectionEntry) HasActiveRouteList ¶
func (obj *RelayConnectionEntry) HasActiveRouteList() bool
Gibt an ob die Routing Liste für diesen Relay bereits zugewiesen wurde
func (*RelayConnectionEntry) Hash ¶
func (obj *RelayConnectionEntry) Hash() uint32
Gibt den Hashwert des Objekts zurück
func (*RelayConnectionEntry) IsTrustedConnection ¶
func (obj *RelayConnectionEntry) IsTrustedConnection() bool
Gibt an ob es sich um eine Vertrauenswürdige Verbindung handelt
func (*RelayConnectionEntry) RegisterRouteList ¶
func (obj *RelayConnectionEntry) RegisterRouteList(rlist *routingmanager.RelayRoutesList) bool
registriert eine Routing Liste für diesen Relay
func (*RelayConnectionEntry) RemoveConnection ¶
func (obj *RelayConnectionEntry) RemoveConnection(conn RelayConnection) error
Entfernt einen Verbindungseintrag
type RelayConnectionMetaData ¶
type RelayConnectionMetaData struct { SessionPKey string Id string IsConnected bool Protocol string InboundOutbound uint8 TxBytes uint64 RxBytes uint64 Ping uint64 }
Stellt die MetaDaten einer einzelnen Verbindung dar
type RelayConnectionRoutingTable ¶
type RelayConnectionRoutingTable struct {
// contains filtered or unexported fields
}
Stellt den Verbindungsmanager dar
func (*RelayConnectionRoutingTable) EnterPackageToRoutingManger ¶
func (obj *RelayConnectionRoutingTable) EnterPackageToRoutingManger(pckg *addresspackages.SendableAddressLayerPackage) (*extra.PackageSendState, error)
Nimmt Pakete entgegen und Routet diese zu dem Entsprechenden Host
func (*RelayConnectionRoutingTable) GetAllMetaInformationsOfRelayConnections ¶
func (obj *RelayConnectionRoutingTable) GetAllMetaInformationsOfRelayConnections(relay *Relay) (*RelayMetaData, error)
Ruft alle MetaDaten über die Verbindungen eines Relays ab
func (*RelayConnectionRoutingTable) GetRelayByConnection ¶
func (obj *RelayConnectionRoutingTable) GetRelayByConnection(conn RelayConnection) (*Relay, bool, error)
Ruft ein Relay anhand einer Verbindung ab
func (*RelayConnectionRoutingTable) GetTotalRelayConnections ¶
func (obj *RelayConnectionRoutingTable) GetTotalRelayConnections(relay *Relay) uint64
Gibt an weiviele Verbindungen ein Relay hat
func (*RelayConnectionRoutingTable) HasActiveConnections ¶
func (obj *RelayConnectionRoutingTable) HasActiveConnections() bool
Gibt an ob es eine Aktive Verbindung gibt
func (*RelayConnectionRoutingTable) InitRoutesForRelay ¶
func (obj *RelayConnectionRoutingTable) InitRoutesForRelay(rlay *Relay, routes *routingmanager.RelayRoutesList) (bool, bool)
Wird verwendet um alle Aktiven Routen für ein Relay zu Initalisieren
func (*RelayConnectionRoutingTable) RegisterNewRelayConnection ¶
func (obj *RelayConnectionRoutingTable) RegisterNewRelayConnection(relay *Relay, conn RelayConnection) error
Fügt eine neue AKtive Verbindung zum Manager hinzu
func (*RelayConnectionRoutingTable) RelayIsConnected ¶
func (obj *RelayConnectionRoutingTable) RelayIsConnected(relay *Relay) bool
Gibt an ob der Relay Verbunden ist
func (*RelayConnectionRoutingTable) RemoveConnectionFromRelay ¶
func (obj *RelayConnectionRoutingTable) RemoveConnectionFromRelay(conn RelayConnection) error
Entfernt eine Verbindung
func (*RelayConnectionRoutingTable) ShutdownByKernel ¶
func (obj *RelayConnectionRoutingTable) ShutdownByKernel()
Wird vom Kernel verwendet alle Verbindungen zu schließen
type RelayDirectoryService ¶
type RelayDirectoryService interface { }
Stellt ein Relay Diretory Service bereit
type RelayMetaData ¶
type RelayMetaData struct { Connections []RelayConnectionMetaData PublicKey string IsConnected bool TotalWrited uint64 TotalReaded uint64 PingMS uint64 IsTrusted bool }
Stellt die MetaDaten dar
type RelayOutboundPair ¶
type RelayOutboundPair struct {
// contains filtered or unexported fields
}
Stellt ein mögliches Relay dar mit welchen nocht keien Verbindung besteht
func (*RelayOutboundPair) GetClientConnModule ¶
func (obj *RelayOutboundPair) GetClientConnModule() *ClientModule
Gibt das Client Protkoll zurück
func (*RelayOutboundPair) GetRelay ¶
func (obj *RelayOutboundPair) GetRelay() *Relay
Gibt das Relay Objekt zurück
type ServerModule ¶
type ServerModule interface { IsIpBasedServer() bool GetLocalIPBasedPort() uint64 RegisterKernel(kernel *Kernel) error GetObjectId() string GetProtocol() string IsRunning() bool Start() error Shutdown() }
Stellt das Gerüst für ein Server Modul dar
type TrustedRelays ¶
type TrustedRelays struct {
// contains filtered or unexported fields
}
func (*TrustedRelays) GetAllRelays ¶
func (obj *TrustedRelays) GetAllRelays() []*Relay
func (*TrustedRelays) Shutdown ¶
func (obj *TrustedRelays) Shutdown()
Source Files ¶
- api_server.go
- api_server_functions.go
- api_server_pconnwr.go
- base.go
- connection_buffer.go
- kernel_address_layer_functions.go
- kernel_api_functions.go
- kernel_buffer_thread.go
- kernel_buffers.go
- kernel_external_modules_general.go
- kernel_functions.go
- kernel_start_shutdown_general.go
- kernel_time.go
- relay.go
- relay_connection_routing_table.go
- relay_connection_routing_table_entry.go
- serve.go
- trusted_relays.go
- types.go