DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦854154413⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Memo_Stream, seg_0525f1

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with Document;
with Message_Transport;
with Identifier;
with Max;  
with Broker_Work;


package body Memo_Stream is

    function "=" (L, R : Message_Transport.Stream_Id) return Boolean
        renames Message_Transport."=";

    -- Ts : File;

    task body Tx is
        -- Ts : File;
        Ts : array (1 .. 10000) of Message_Transport.Stream_Id;
        Val : Message_Transport.Stream_Id;
        Found : Boolean := False;
    begin  
        loop
            select


                accept Init do
--                    for I in Ts.Value'Range loop
--                        Ts.Value (I) := Val;

                    for I in Ts'Range loop
                        Ts (I) := Val;


                    end loop;

                end Init;


            or
                accept Add (Where : in Natural;
                            Element : in Message_Transport.Stream_Id) do
                    --Ts.Value (Where) := Element;

                    Ts (Where) := Element;

                end Add;


            or
                accept Delete (Where : in Natural;
                               Element : in Message_Transport.Stream_Id) do
                    --Ts.Value (Where) := Val;

                    Ts (Where) := Val;
                end Delete;


            or
                accept Search_S (Where : in Natural;
                                 Element : out Message_Transport.Stream_Id) do


                    Element := Ts (Where);
                    --    Element := Ts.Value (Where);
                end Search_S;

            or
                accept Search_N (What : in Message_Transport.Stream_Id;
                                 Element : out Natural) do
                    --      for I in Ts.Value'Range loop
                    --          if not Found then
                    --              if Ts.Value (I) = What then
                    --                  Found := True;
                    --                  Element := I;
                    --              end if;
                    --          end if;
                    --      end loop;
                    --      if not Found then
                    --          raise Unknown;
                    --      end if;



                    for I in Ts'Range loop
                        if not Found then
                            if Ts (I) = What then
                                Found := True;
                                Element := I;
                            end if;
                        end if;
                    end loop;
                    if not Found then
                        raise Unknown;
                    end if;

                end Search_N;
            end select;
        end loop;
    end Tx;


end Memo_Stream;

E3 Meta Data

    nblk1=4
    nid=4
    hdr6=6
        [0x00] rec0=2a rec1=00 rec2=01 rec3=010
        [0x01] rec0=1e rec1=00 rec2=02 rec3=068
        [0x02] rec0=1f rec1=00 rec2=03 rec3=000
        [0x03] rec0=10 rec1=00 rec2=03 rec3=000
    tail 0x2154bb02887a0734f115e 0x42a00088462060003
Free Block Chain:
  0x4: 0000  00 00 00 03 00 00 00 64 20 69 66 3b 06 00 1d 20  ┆       d if;    ┆