public class ListsManager extends Object implements ListsManagerInterface
Modifier and Type | Class and Description |
---|---|
private class |
ListsManager.DelayedSubscriptionHandle |
private class |
ListsManager.DelayedSubscriptionThread
TBD Beschreibung
|
private class |
ListsManager.LocalSubscriptionInfos |
private static class |
ListsManager.ReferenceCount |
private class |
ListsManager.TransmitterSubscriptionInfos
Enthält die Anmeldungsliste eines erreichbaren Datenverteilers.
|
Modifier and Type | Field and Description |
---|---|
private BestWayManagerInterface |
_bestWayManager |
private HighLevelConnectionsManagerInterface |
_connectionsManager |
private static Debug |
_debug |
private ArrayList<ListsManager.DelayedSubscriptionHandle> |
_delayedSubscriptionList |
private Object |
_delayedSubscriptionSync |
private ListsManager.DelayedSubscriptionThread |
_delayedSubscriptionThread |
private ListsManager.LocalSubscriptionInfos |
_localSubscriptionInfos |
private Object |
_localSubscriptionInfosSendLock |
private long |
_localTransmitterId
Eigene Datenverteiler-Id
|
private ListsManager.TransmitterSubscriptionInfos |
_localTransmitterSubscriptionInfos |
private Map<Long,ListsManager.TransmitterSubscriptionInfos> |
_subscriptionInfos
Map mit den Anmeldelisten der bekannten Datenverteiler.
|
private static long |
DELAYED_SUBSCRIPTION_TIME_LIMIT |
Constructor and Description |
---|
ListsManager(HighLevelConnectionsManagerInterface connectionsManager)
Erzeugt ein neues Objekt mit den übergebenen Parametern.
|
Modifier and Type | Method and Description |
---|---|
void |
addEntry(long delivererId,
long transmitterId)
Diese Methode wird von der Wegverwaltung aufgerufen, wenn ein Datenverteiler als erreichbar festgestellt wird.
|
(package private) void |
addInfo(BaseSubscriptionInfo info)
Neue Anmeldung beim lokalen Datenverteiler in die Anmeldelistenverwaltung aufnehmen.
|
private void |
cleanPendingDelayedSubscriptions(long[] ids)
Diese Methode entfernt die wartenden verzögerten Anmeldungen.
|
(package private) void |
close()
Diese Methode gibt die vom ListsManager beanspruchten Resourcen wieder frei.
|
void |
dumpSubscriptionLists() |
BestWayManagerInterface |
getBestWayManager()
Getter für das Verwaltungsobjekt zur Bestimmung der günstigsten Wege.
|
(package private) Thread |
getDelayedSubscriptionThread()
Bestimmt den Thread, der für die verzögerte Durchführung von Anmeldungen zuständig ist.
|
(package private) long[] |
getPotentialCentralDavs(BaseSubscriptionInfo info)
Diese Methode wird von der Verbindungsverwaltung aufgerufen, um die potentiellen Zentraldatenverteiler des spezifizierten Datums zu bestimmen.
|
void |
handleDisconnection(long transmitterId)
Diese Methode wird von der Verbindungsverwaltung aufgerufen, wenn eine Datenverteilerverbindung nicht mehr existiert.
|
void |
handleWaysChanges(long[] changedTransmitterIds)
Diese Methode wird von der Verbindungsverwaltung aufgerufen, wenn sich neue günstigste Wege für bestimmte Datenverteiler ergeben haben.
|
(package private) void |
removeInfo(BaseSubscriptionInfo info)
Anmeldung beim lokalen Datenverteiler aus der Anmeldelistenverwaltung entfernen.
|
private void |
sendTransmitterUpdates(T_T_HighLevelCommunicationInterface connection,
long transmitterId,
boolean update,
List<Long> objToAdd,
List<Long> objToRemove,
List<AttributeGroupAspectCombination> combiToAdd,
List<AttributeGroupAspectCombination> combiToRemove)
* Diese Methode sendet die Aktualisierungstelegramme, welche die Ergänzungen und Löschungen der Listen beinhalten.
|
private void |
sendTransmitterUpdates(T_T_HighLevelCommunicationInterface connection,
long transmitterId,
List<Long> objToAdd,
List<Long> combiToAdd)
Diese Methode sendet die Aktualisierungstelegramme, welche die Ergänzungen der Listen beinhalten.
|
void |
setBestWayManager(BestWayManagerInterface bestWayManager)
Setter für das Verwaltungsobjekt zur Bestimmung der günstigsten Wege.
|
(package private) void |
subscribe(long transmitterId,
long[] ids)
Diese Methode wird von der Verbindungsverwaltung aufgerufen, wenn eine Anmeldung auf die Zuliefererinformationen eines bestimmten Datenverteilers
eingetroffen ist.
|
(package private) void |
unsubscribe(long transmitterId,
long[] ids)
Diese Methode wird von der Verbindungsverwaltung aufgerufen, wenn eine Abmeldung auf die Zuliefererinformationen eines bestimmten Datenverteilers
eingetroffen ist.
|
(package private) void |
unsubscribeDeliverer(long transmitterId,
long[] ids)
Diese Methode wird von der Verbindungsverwaltung aufgerufen, wenn eine Kündigung eines Zulieferers auf die Zuliefererinformationen eines bestimmten
Datenverteilers eingetroffen ist.
|
(package private) void |
updateEntry(TransmitterListsUpdate transmitterListsUpdate)
Diese Methode wird von der Verbindungsverwaltung aufgerufen, wenn eine Zuliefereraktualisierung eintrifft.
|
private static final Debug _debug
private final long _localTransmitterId
private final Map<Long,ListsManager.TransmitterSubscriptionInfos> _subscriptionInfos
private final ListsManager.LocalSubscriptionInfos _localSubscriptionInfos
private final ListsManager.TransmitterSubscriptionInfos _localTransmitterSubscriptionInfos
private static final long DELAYED_SUBSCRIPTION_TIME_LIMIT
private final HighLevelConnectionsManagerInterface _connectionsManager
private final ArrayList<ListsManager.DelayedSubscriptionHandle> _delayedSubscriptionList
private final Object _delayedSubscriptionSync
private final ListsManager.DelayedSubscriptionThread _delayedSubscriptionThread
private BestWayManagerInterface _bestWayManager
private final Object _localSubscriptionInfosSendLock
public ListsManager(HighLevelConnectionsManagerInterface connectionsManager)
connectionsManager
- VerbindungsverwaltungThread getDelayedSubscriptionThread()
public BestWayManagerInterface getBestWayManager()
public void setBestWayManager(BestWayManagerInterface bestWayManager)
bestWayManager
- Verwaltungsobjekt zur Bestimmung der günstigsten Wege.public final void addEntry(long delivererId, long transmitterId)
ListsManagerInterface
addEntry
in interface ListsManagerInterface
delivererId
- ID des Zulieferers oder -1, wenn der kein Zulieferer mehr existiert.transmitterId
- ID des Datenverteilerspublic final void handleWaysChanges(long[] changedTransmitterIds)
ListsManagerInterface
handleWaysChanges
in interface ListsManagerInterface
changedTransmitterIds
- Array mit den IDs der betroffenen Datenverteiler.final void subscribe(long transmitterId, long[] ids)
transmitterId
- ID des DAVids
- long Array mit den IDs enthält die Liste der DAVsfinal void unsubscribe(long transmitterId, long[] ids)
transmitterId
- ID des DAVids
- long Array mit den IDs, enthält die Liste der DAVsfinal void unsubscribeDeliverer(long transmitterId, long[] ids)
transmitterId
- ID des DAVids
- long Array mit den IDs, enthält die Liste der DAVspublic final void handleDisconnection(long transmitterId)
ListsManagerInterface
handleDisconnection
in interface ListsManagerInterface
transmitterId
- ID des Datenverteilersfinal void updateEntry(TransmitterListsUpdate transmitterListsUpdate)
final void addInfo(BaseSubscriptionInfo info)
info
- Anmeldeinformationenfinal void removeInfo(BaseSubscriptionInfo info)
info
- Anmeldeinformationenfinal long[] getPotentialCentralDavs(BaseSubscriptionInfo info)
info
- Anmeldeinformationenfinal void close()
private void sendTransmitterUpdates(T_T_HighLevelCommunicationInterface connection, long transmitterId, List<Long> objToAdd, List<Long> combiToAdd)
connection
- Verbindung zwischen zwei DAVtransmitterId
- ID des DAVobjToAdd
- Liste der zu addierenden ObjektecombiToAdd
- Liste der zu addierenden Attributgruppen-Aspekt-Kombinationenprivate void sendTransmitterUpdates(T_T_HighLevelCommunicationInterface connection, long transmitterId, boolean update, List<Long> objToAdd, List<Long> objToRemove, List<AttributeGroupAspectCombination> combiToAdd, List<AttributeGroupAspectCombination> combiToRemove)
connection
- Verbindung zwischen zwei DAVtransmitterId
- ID des DAVupdate
- true,falseobjToAdd
- Liste der zu addierenden ObjekteobjToRemove
- Liste der zu entfernenden ObjektecombiToAdd
- Liste der zu addierenden Attributgruppen-Aspekt-KombinationencombiToRemove
- Liste der zu entfernenden Attributgruppen-Aspekt-Kombinationenprivate void cleanPendingDelayedSubscriptions(long[] ids)
ids
- long Array mit den IDs der zu löschenden Datenverteilerpublic void dumpSubscriptionLists()