|
|
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 Corp_Programme, seg_057328
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
with Byte_Defs, Scheduler, Trame, Operations;
with Affichage, Trame;
package body Corp_Programme is
Index_Courant : Positive;
package One_Scheduler is new Scheduler;
--************************************************************
task Scrute_Tableau;
-- Scrutation du tableau, recherche un index "Rempli"
-- Le contenu du champ numero 4 ("Etat") du tableau indique:
-- 0 : L'index contient quelque-chose
-- 11: L'index est vide
task body Scrute_Tableau is
Index : Integer;
Reponse : String (1 .. 10);
Trame_Message : Byte_Defs.Byte_String (1 .. 1024);
Taille : Positive;
Resultat : Integer;
begin
One_Scheduler.Donne_Taille_Buffer_Reception (Taille);
One_Scheduler.Definir_Communication_Pour_Objet;
One_Scheduler.Accepte_Reception;
loop
for Index_Courant in 1 .. Taille loop
One_Scheduler.Donne_Champ_Type_Integer
(Index_Courant, 4, Resultat);
-- Teste si un message existe dans le tableau
if Resultat = 0 then
One_Scheduler.Donne_Champ_Type_Integer
(Index_Courant, 1, Resultat);
-- Teste si message de type 1
if Resultat = 1 then
One_Scheduler.Fabrique_Trame
(Index_Courant, Trame_Message);
One_Scheduler.Place_Reponse
(Index_Courant,
Traitement (Trame.Extrait (Trame_Message, 5)));
One_Scheduler.Fabrique_Trame
(Index_Courant, Trame_Message);
One_Scheduler.Envoi_Trame (Trame_Message);
One_Scheduler.Efface_Par_Index (Index_Courant);
end if;
end if;
end loop;
end loop;
end Scrute_Tableau;
--************************************************************
-- Demande d'enregistrement d'un objet a l'ORB (Registration)
procedure Enregistrement (Message : in String) is
begin
One_Scheduler.Enregistre_Service (Message);
end Enregistrement;
--************************************************************
-- Fin d'existence (Unregistration)
procedure Desenregistrement (Message : in String) is
begin
One_Scheduler.Supprime_Service (Message);
end Desenregistrement;
--************************************************************
-- Demande de service (Request)
procedure Demande (Message : in String; Codage : out Positive) is
begin
One_Scheduler.Envoi_Demande (Message, Codage);
end Demande;
--************************************************************
-- Demande de reponse du service demande
function Reponse (Codage : in Positive; Rang : in Positive) return String is
begin
return One_Scheduler.Extrait_Reponse (Codage, Rang);
end Reponse;
--************************************************************
--function Parametre (Num_Param : in Positive) return String is
--begin
-- return One_Scheduler.Extrait_Parametre (Num_Param);
--end Parametre;
--************************************************************
-- Demande d'effacement de la reponse associe a un service
procedure Efface (Num_Requete : in Positive) is
begin
One_Scheduler.Efface_Par_Requete (Num_Requete);
end Efface;
end Corp_Programme;
nblk1=6
nid=2
hdr6=a
[0x00] rec0=1d rec1=00 rec2=01 rec3=04c
[0x01] rec0=00 rec1=00 rec2=05 rec3=008
[0x02] rec0=13 rec1=00 rec2=03 rec3=022
[0x03] rec0=1b rec1=00 rec2=06 rec3=02a
[0x04] rec0=13 rec1=00 rec2=04 rec3=000
[0x05] rec0=13 rec1=00 rec2=02 rec3=001
tail 0x21764020e87c68395f794 0x42a00088462060003
Free Block Chain:
0x2: 0000 00 00 01 b2 80 01 2a 01 00 41 20 20 20 20 66 75 ┆ * A fu┆