W przypadku, gdy agent oczekujący zgłoszeń klientów poprzez sieć komputerową
otrzymuje nowy komunikat UDP, to dokonuje autoryzacji klienta na podstawie jego
adresu IP. W tym celu przetwarzane są informacje zawarte w pliku .known.hosts.
Jeśli nie można otworzyć pliku .known.hosts
do czytania lub adres IP klienta nie pasuje do żadnego z wpisów w tym pliku, to
pakiet UDP jest odrzucany. Dla klientów lokalnych nie jest dokonywana żadna autoryzacja.
Dla każdego przetwarzanego komunikatu przeszukiwana jest lista aktywnych wiadomości,
w celu sprawdzenia, czy dany komunikat już się na niej nie znajduje. Dwa komunikaty uznawane
są za takie same wtedy i tylko wtedy, gdy są tego samego typu (SNMP Data lub SNMP Trap)
i spełniają warunki specyficzne dla danego typu. W przypadku typu SNMP Trap muszą być
równe ich identyfikatory, zaś w przypadku typu SNMP Data dodatkowo muszą mieć ten sam
powód wysłania komunikatu przez Analizatora Danych SNMP Data
(powodem może być: wartość poniżej dolnej granicy okna przeciętnych wartości, wartość powyżej górnej granicy okna,
błąd lub nie otrzymanie odpowiedzi). Jeśli komunikat znajduje się na liście aktywnych
wiadomości to następuje jego aktualizacja, a następnie informacja o jego nadejściu
wysyłana jest na wyjście programu damadbud.
W przypadku, gdy komunikat nie został znaleziony na liście aktywnych
wiadomości, to są przeszukiwane wszystkie komunikaty. Jeśli zostanie
on odnaleziony, to zostanie zaktualizowany i stanie się aktywny. Jeśli
komunikat nie zostanie odnaleziony, to zostanie dodany do listy wiadomości
jako aktywny komunikat. Ostatnią operacją dokonywaną na przetwarzanym
komunikacie jest wysłanie informacji o jego nadejściu na wyjście programu damadbud.
W przypadku dodawania nowego elementu do Bazy Danych sprawdzane jest, czy nie powinien
on być skojarzony z jakimkolwiek innym komunikatem z Bazy Danych zgodnie z wczytaną podczas
startu konfiguracją z pliku .damadbudrc. W tym celu przetwarzany jest każdy komunikat
z Bazy bez względu na to, czy znajduje się na liście aktywnych wiadomości, czy też nie.
Dla każdej takiej pary sprawdzane jest, czy ich identyfikatory nie pasują do definicji
któregoś z obiektów association{...} znalezionych w pliku konfiguracyjnym. W tym celu
badany jest każdy ze zdefiniowanych obiektów. Jeśli string1 występuje w pierwszym
komunikacie, zaś string2 w drugim, przy warunku potraktowania wskazanych części
identyfikatorów jako zmiennych zgodnie z definicją pól string1 i string2, to
komunikaty te zostaną ze sobą skojarzone.
Program damadbud przegląda także aktywne komunikaty. Te z nich, które nie były aktualizowane
przez ostatnie 15 min. są ustawiane w stan pasywyny. Co kilka minut natomiast,
uruchamiana jest procedura usuwania pasywnych komunikatów.