|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Orb, seg_05487c
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Filter_Storage; with Abonnement_Storage; with Observator_Storage; with Contrat_Storage; with Filter_Storage; with Text_Io; package body Orb is procedure Type_Supervisor (Message : in out Message_Content) is Id : Natural; Place : Natural := 1; Success : Boolean := False; begin case Message.Type_Msg is when Registration => Text_Io.Put_Line ("demande d'enregistrement d'un objet"); Message.Source_Id := Abonnement_Storage.Add (Message.Name, Message.Socket); Text_Io.Put_Line (Natural'Image (Message.Source_Id)); --envoyer message avec identificateur Text_Io.Put_Line ("abonnement realise"); when Unregistration => Text_Io.Put_Line ("demande de retrait d'un objet "); Abonnement_Storage.Delete (Message.Source_Id); Observator_Storage.Delete (Message.Source_Id); Filter_Storage.Delete (Message.Source_Id); Text_Io.Put_Line ("abonnement resilie "); when Query => Text_Io.Put_Line ("demande de maintenance"); --affichage de la table interne Text_Io.Put_Line ("non realise"); when Request => Text_Io.Put_Line ("demande de travail"); Id := Contrat_Storage.Search (Message.Content, Place); while not (Success) loop if Abonnement_Storage.See_State (Id) = 1 then --envoyer message avec para see_name et see_socket --si message transmi success:=true sinon place++ Text_Io.Put_Line ("message envoye pour la requete"); else Text_Io.Put_Line ("serveur n'est plus abonne);"); Place := Place + 1; Id := Contrat_Storage.Search (Message.Content, Place); end if; end loop; when Notification => Text_Io.Put_Line ("demande d'information"); Text_Io.Put_Line (" non realise"); when Forward => Text_Io.Put_Line ("demande de propagation de message"); --envoyer message au client concerne par destination_id Text_Io.Put_Line ("envoi realise"); when Publication => Text_Io.Put_Line ("demande d'enregistrement de contrat"); Contrat_Storage.Add (Message.Content, Message.Source_Id); Text_Io.Put_Line ("stockage du contrat realise"); when Unpublication => Text_Io.Put_Line ("demande de retrait de contrat"); Contrat_Storage.Delete (Message.Content, Message.Source_Id); Text_Io.Put_Line (" realise"); when Subscription => Text_Io.Put_Line ("demande d'abonnement espion"); if Abonnement_Storage.See_State (Message.Source_Id) = 1 then Observator_Storage.Add (Message.Source_Id); Text_Io.Put_Line (" abonnement espion realise"); end if; when Unsubscription => Text_Io.Put_Line ("demande de retrait d'abonnement espion"); Observator_Storage.Delete (Message.Source_Id); Text_Io.Put_Line ("abonnement espion resilie "); when Filtration => Text_Io.Put_Line ("demande d'enregistrement de filtre"); if Abonnement_Storage.See_State (Message.Source_Id) = 1 then Filter_Storage.Add (Message.Source_Id); Text_Io.Put_Line (" abonnement filtre realise"); end if; when Unfiltration => Text_Io.Put_Line ("demande de retrait de filtre"); Filter_Storage.Delete (Message.Source_Id); Text_Io.Put_Line ("abonnement filtre resilie"); when others => Text_Io.Put_Line ("Le type de contrat ne convient pas"); --envoyer message a la source end case; end Type_Supervisor; end Orb;
nblk1=5 nid=0 hdr6=a [0x00] rec0=1b rec1=00 rec2=01 rec3=038 [0x01] rec0=14 rec1=00 rec2=02 rec3=00c [0x02] rec0=16 rec1=00 rec2=03 rec3=000 [0x03] rec0=15 rec1=00 rec2=04 rec3=044 [0x04] rec0=0b rec1=00 rec2=05 rec3=000 tail 0x2175d9b3287b886b6f3dc 0x42a00088462060003