DistributionInterface
, HighLevelTransmitterManagerInterface
public class HighLevelTransmitterManager extends java.lang.Object implements DistributionInterface, HighLevelTransmitterManagerInterface
Constructor | Description |
---|---|
HighLevelTransmitterManager(HighLevelConnectionsManagerInterface connectionsManager,
ListsManager listsManager) |
Modifier and Type | Method | Description |
---|---|---|
void |
addWay(T_T_HighLevelCommunication communication) |
Es gibt einen neuen Weg, diese Nachricht wird im BestWayManager behandelt, siehe Dokumentation dort.
|
void |
connectionTerminated(T_T_HighLevelCommunication communication) |
Wird bei einem Verbindungsabbruch aufgerufen
|
de.bsvrz.dav.daf.communication.srpAuthentication.SrpVerifierAndUser |
fetchSrpVerifierAndAuthentication(java.lang.String userName) |
Fragt von der Konfiguration bei einer eingehenden Authentifizierungsanfrage den SRP-Verifier für den angegebenen Benutzer ab
|
T_T_HighLevelCommunicationInterface |
getBestConnectionToRemoteDav(long remoteDav) |
|
de.bsvrz.dav.daf.main.authentication.ClientCredentials |
getClientCredentialsForAuthentication(long transmitterId) |
Bestimmt das Benutzerpasswort das zur Authentifizierung beim angegebenen Datenverteiler benutzt werden soll.
|
de.bsvrz.dav.daf.main.authentication.ClientCredentials |
getClientCredentialsForAuthentication(java.lang.String userName,
long transmitterId) |
Bestimmt das Benutzerpasswort das zur Authentifizierung beim angegebenen Datenverteiler mit dem angegebenen Benutzernamen benutzt werden soll.
|
long |
getMyTransmitterId() |
|
java.util.List<java.lang.Long> |
getPotentialCentralDistributors(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo) |
|
java.lang.String |
getUserNameForAuthentication(long connectedTransmitterId) |
Bestimmt den Benutzername der zur Authentifizierung beim angegebenen Datenverteiler benutzt werden soll.
|
short |
getWeight(long transmitterId) |
Gibt das Gewicht einer Verbindung zurück
|
void |
handleDataTelegram(T_T_HighLevelCommunication communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataTelegram transmitterDataTelegram) |
Wird aufgerufen, wenn ein Datentelegramm eintrifft
|
void |
handleListsDeliveryUnsubscription(T_T_HighLevelCommunicationInterface communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsDeliveryUnsubscription transmitterListsDeliveryUnsubscription) |
Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dort
|
void |
handleListsSubscription(ServerHighLevelCommunication communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsSubscription transmitterListsSubscription) |
Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dort
|
void |
handleListsUnsubscription(ServerHighLevelCommunication communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsUnsubscription transmitterListsUnsubscription) |
Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dort
|
void |
handleListsUpdate(de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsUpdate transmitterListsUpdate) |
Dieses Telegramm wird an den ListsManager weitergegeben, siehe Dokumentation dort
|
void |
handleTransmitterSubscription(T_T_HighLevelCommunicationInterface communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataSubscription subscription) |
Eingehende Datenanmeldung
|
void |
handleTransmitterSubscriptionReceipt(T_T_HighLevelCommunicationInterface communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataSubscriptionReceipt receipt) |
Bestätigung einer ausgehenden Datenanmeldung auf einem entfernten datenverteiler
|
void |
handleTransmitterUnsubscription(T_T_HighLevelCommunicationInterface communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataUnsubscription unsubscription) |
Eingehende Datenabmeldung
|
void |
throttleLoginAttempt(boolean passwordWasCorrect) |
Wird bei jedem Login-Versuch aufgerufen und sorgt dafür, dass bei wiederholten Brute-Force-Angriffen der Login verzögert wird.
|
void |
updateBestWay(T_T_HighLevelCommunication communication,
de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterBestWayUpdate transmitterBestWayUpdate) |
Wird bei einem BestWayUpdate-Telegramm aufgerufen
|
void |
updateDestinationRoute(long transmitterId,
RoutingConnectionInterface oldConnection,
RoutingConnectionInterface newConnection) |
Wird aufgerufen, wenn die Kommunikation zu einem anderen Datenverteiler über eine andere Verbindung erfolgen sollte.
|
public HighLevelTransmitterManager(HighLevelConnectionsManagerInterface connectionsManager, ListsManager listsManager)
public long getMyTransmitterId()
public void connectionTerminated(T_T_HighLevelCommunication communication)
HighLevelTransmitterManagerInterface
connectionTerminated
in interface HighLevelTransmitterManagerInterface
public java.lang.String getUserNameForAuthentication(long connectedTransmitterId)
HighLevelTransmitterManagerInterface
getUserNameForAuthentication
in interface HighLevelTransmitterManagerInterface
connectedTransmitterId
- Objekt-ID des anderen Datenverteilers.public de.bsvrz.dav.daf.main.authentication.ClientCredentials getClientCredentialsForAuthentication(long transmitterId)
HighLevelTransmitterManagerInterface
getClientCredentialsForAuthentication
in interface HighLevelTransmitterManagerInterface
transmitterId
- Objekt-ID des anderen Datenverteilers.public de.bsvrz.dav.daf.main.authentication.ClientCredentials getClientCredentialsForAuthentication(java.lang.String userName, long transmitterId)
HighLevelTransmitterManagerInterface
getClientCredentialsForAuthentication
in interface HighLevelTransmitterManagerInterface
userName
- BenutzernametransmitterId
- Objekt-ID des anderen Datenverteilers.public short getWeight(long transmitterId)
HighLevelTransmitterManagerInterface
getWeight
in interface HighLevelTransmitterManagerInterface
transmitterId
- Datenverteiler, zu dem das Gewischt ermittelt werden sollpublic void handleDataTelegram(T_T_HighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataTelegram transmitterDataTelegram)
HighLevelTransmitterManagerInterface
handleDataTelegram
in interface HighLevelTransmitterManagerInterface
communication
- Verbindung über die das Telegram eintriffttransmitterDataTelegram
- Telegrampublic void handleListsUpdate(de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsUpdate transmitterListsUpdate)
HighLevelTransmitterManagerInterface
handleListsUpdate
in interface HighLevelTransmitterManagerInterface
transmitterListsUpdate
- telegrampublic void handleListsDeliveryUnsubscription(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsDeliveryUnsubscription transmitterListsDeliveryUnsubscription)
HighLevelTransmitterManagerInterface
handleListsDeliveryUnsubscription
in interface HighLevelTransmitterManagerInterface
communication
- Verbindung über die das Telegram gesendet wurdetransmitterListsDeliveryUnsubscription
- telegrampublic void handleListsUnsubscription(ServerHighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsUnsubscription transmitterListsUnsubscription)
HighLevelTransmitterManagerInterface
handleListsUnsubscription
in interface HighLevelTransmitterManagerInterface
communication
- Verbindung über die das Telegram gesendet wurdetransmitterListsUnsubscription
- telegrampublic void handleListsSubscription(ServerHighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterListsSubscription transmitterListsSubscription)
HighLevelTransmitterManagerInterface
handleListsSubscription
in interface HighLevelTransmitterManagerInterface
communication
- Verbindung über die das Telegram gesendet wurdetransmitterListsSubscription
- telegrampublic void handleTransmitterSubscription(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataSubscription subscription)
HighLevelTransmitterManagerInterface
handleTransmitterSubscription
in interface HighLevelTransmitterManagerInterface
communication
- Verbindungsubscription
- Telegrampublic void handleTransmitterUnsubscription(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataUnsubscription unsubscription)
HighLevelTransmitterManagerInterface
handleTransmitterUnsubscription
in interface HighLevelTransmitterManagerInterface
communication
- Verbindungunsubscription
- Telegrampublic void handleTransmitterSubscriptionReceipt(T_T_HighLevelCommunicationInterface communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterDataSubscriptionReceipt receipt)
HighLevelTransmitterManagerInterface
handleTransmitterSubscriptionReceipt
in interface HighLevelTransmitterManagerInterface
communication
- Verbindungreceipt
- Telegrampublic void addWay(T_T_HighLevelCommunication communication)
HighLevelTransmitterManagerInterface
addWay
in interface HighLevelTransmitterManagerInterface
communication
- Verbindung über die das Telegram gesendet wurdepublic void updateBestWay(T_T_HighLevelCommunication communication, de.bsvrz.dav.daf.communication.lowLevel.telegrams.TransmitterBestWayUpdate transmitterBestWayUpdate)
HighLevelTransmitterManagerInterface
updateBestWay
in interface HighLevelTransmitterManagerInterface
communication
- Verbindung über die das Telegram gesendet wurdetransmitterBestWayUpdate
- Telegrammpublic void throttleLoginAttempt(boolean passwordWasCorrect)
HighLevelTransmitterManagerInterface
throttleLoginAttempt
in interface HighLevelTransmitterManagerInterface
passwordWasCorrect
- War das Passwort korrekt? Ausgebremst wird zwar immer, aber nur wenn das passwort falsch war, hat das eine Auswirkung auf folgende Login-Vesuchepublic de.bsvrz.dav.daf.communication.srpAuthentication.SrpVerifierAndUser fetchSrpVerifierAndAuthentication(java.lang.String userName) throws de.bsvrz.dav.daf.communication.srpAuthentication.SrpNotSupportedException
HighLevelTransmitterManagerInterface
fetchSrpVerifierAndAuthentication
in interface HighLevelTransmitterManagerInterface
userName
- Benutzernamede.bsvrz.dav.daf.communication.srpAuthentication.SrpNotSupportedException
public void updateDestinationRoute(long transmitterId, RoutingConnectionInterface oldConnection, RoutingConnectionInterface newConnection)
DistributionInterface
updateDestinationRoute
in interface DistributionInterface
transmitterId
- ID des betroffenen Datenverteilers.oldConnection
- Verbindung über die bisher mit dem betroffenen Datenverteiler kommuniziert wurde.newConnection
- Verbindung über die in Zukunft mit dem betroffenen Datenverteiler kommuniziert werden soll.public java.util.List<java.lang.Long> getPotentialCentralDistributors(de.bsvrz.dav.daf.communication.lowLevel.telegrams.BaseSubscriptionInfo baseSubscriptionInfo)
public T_T_HighLevelCommunicationInterface getBestConnectionToRemoteDav(long remoteDav)