|
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 - metrics - download
Length: 7168 (0x1c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Agent_Nb_Generator, seg_057ec0, seg_058270
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
package body Agent_Nb_Generator is procedure Create_Agent_Nb_Generator (The_Agent_Nb_Generator : out T_Agent_Nb_Generator) is begin Initialize (The_Agent_Nb_Generator); end Create_Agent_Nb_Generator; procedure Get_Agent_Nb (The_Object : in Com_Chanel.Object; The_Agent_Nb_Generator : in out T_Agent_Nb_Generator; The_Result : out Agent_Nb.T_Agent_Nb) is Counter : Natural := 1; The_Register, One_Register : Register.T_Register; The_Iter : Register_Set.Iterator; Result : Boolean := False; begin if not (Is_Empty (The_Agent_Nb_Generator)) then loop exit when Result = True; Init (The_Iter, The_Agent_Nb_Generator); loop if not (Register_Set.Done (The_Iter)) then The_Register := Register_Set.Value (The_Iter); end if; exit when Register_Set.Done (The_Iter) or Agent_Nb.Image (Register.Get_Agent_Nb (The_Register)) = Counter; Register_Set.Next (The_Iter); end loop; if Register_Set.Done (The_Iter) then Result := True; Register.Set_Agent_Nb (One_Register, Agent_Nb.Value (Counter)); Register.Set_The_Object (One_Register, The_Object); Add (The_Agent_Nb_Generator, One_Register); else Counter := Counter + 1; end if; end loop; else Register.Set_Agent_Nb (One_Register, Agent_Nb.Value (Counter)); Register.Set_The_Object (One_Register, The_Object); Add (The_Agent_Nb_Generator, One_Register); end if; The_Result := Register.Get_Agent_Nb (One_Register); end Get_Agent_Nb; procedure Get_Object (The_Agent_Nb : in Agent_Nb.T_Agent_Nb; The_Agent_Nb_Generator : in out T_Agent_Nb_Generator; The_Result : out Com_Chanel.Object) is The_Register : Register.T_Register; The_Iter : Register_Set.Iterator; begin Init (The_Iter, The_Agent_Nb_Generator); loop The_Register := Register_Set.Value (The_Iter); exit when Register_Set.Done (The_Iter) or (Agent_Nb.Image (Register.Get_Agent_Nb (The_Register)) = Agent_Nb.Image (The_Agent_Nb)); Register_Set.Next (The_Iter); end loop; if Register_Set.Done (The_Iter) then The_Result := Com_Chanel.Null_Object; else The_Result := Register.Get_The_Object (The_Register); end if; end Get_Object; procedure Delete_One_Agent (The_Agent_Nb : in Agent_Nb.T_Agent_Nb; The_Agent_Nb_Generator : in out T_Agent_Nb_Generator) is The_Iter : Register_Set.Iterator; begin Init (The_Iter, The_Agent_Nb_Generator); loop exit when Register_Set.Done (The_Iter) or (Agent_Nb.Image (Register.Get_Agent_Nb (Register_Set.Value (The_Iter))) = Agent_Nb.Image (The_Agent_Nb)); Register_Set.Next (The_Iter); end loop; if not (Register_Set.Done (The_Iter)) then Delete (The_Agent_Nb_Generator, Register_Set.Value (The_Iter)); end if; end Delete_One_Agent; end Agent_Nb_Generator;
nblk1=6 nid=6 hdr6=8 [0x00] rec0=1e rec1=00 rec2=01 rec3=002 [0x01] rec0=15 rec1=00 rec2=03 rec3=064 [0x02] rec0=19 rec1=00 rec2=05 rec3=034 [0x03] rec0=18 rec1=00 rec2=02 rec3=000 [0x04] rec0=1e rec1=00 rec2=03 rec3=008 [0x05] rec0=07 rec1=00 rec2=04 rec3=001 tail 0x217644b6687c779da4f10 0x42a00088462060003 Free Block Chain: 0x6: 0000 00 04 00 04 80 01 4f 01 02 03 04 05 06 07 08 09 ┆ O ┆ 0x4: 0000 00 00 00 e3 80 18 20 20 20 20 20 20 20 20 4e 65 ┆ Ne┆