Commit a0e3f7a9 authored by Maxime Perrotin's avatar Maxime Perrotin
parents c6cb9e9a 53cc708b
Jerome Hugues <jerome.hugues@enst.fr>
Stephane Lanarre <stephane.lanarre@enst.fr>
Laurent Pautet <laurent.pautet@enst.fr>
Bechir Zalila <bechir.zalila@enst.fr>
Current maintainer is
- Jerome Hugues
Contributor
- Stephane Lanarre (2009)
The initial design team of PolyORB-HI/C was
- Jerome Hugues
- Laurent Pautet (up to 2009)
- Bechir Zalila (up to 2008)
......@@ -26,8 +26,8 @@ end Array_Type;
data implementation Array_Type.I
properties
Data_Model::Data_Representation => array;
Data_Model::Dimension => (4);
Data_Model::Base_Type => (classifier (Software::Integer_Type));
Data_Model::Dimension => (4_000);
Data_Model::Base_Type => (classifier (Software::Integer_Type));
end Array_Type.I;
data String_Type
......@@ -117,7 +117,7 @@ features
end Emitter_Wrapper;
subprogram implementation Emitter_Wrapper.Impl
calls
calls
Mycalls : {
B_Spg : subprogram Emit_Boolean;
I_Spg : subprogram Emit_Integer;
......@@ -144,7 +144,7 @@ features
end Emitter;
thread implementation Emitter.Impl
calls
calls
Mycall : {
Emitter_Wrapper : subprogram Emitter_Wrapper.Impl;
};
......@@ -164,7 +164,7 @@ features
end Boolean_Receiver;
thread implementation Boolean_Receiver.Impl
calls
calls
Mycall : {
B_Spg : subprogram Receive_Boolean;
};
......@@ -181,7 +181,7 @@ features
end Integer_Receiver;
thread implementation Integer_Receiver.Impl
calls
calls
Mycall : {
I_Spg : subprogram Receive_Integer;
};
......@@ -198,7 +198,7 @@ features
end Array_Receiver;
thread implementation Array_Receiver.Impl
calls
calls
Mycall : {
I_Spg : subprogram Receive_Array;
};
......@@ -215,7 +215,7 @@ features
end String_Receiver;
thread implementation String_Receiver.Impl
calls
calls
Mycall : {
S_Spg : subprogram Receive_String;
};
......
......@@ -40,7 +40,7 @@ package body Some_Types_Pkg is
Boolean_Type_Var : Boolean_Type := False;
Integer_Type_Var : Integer_Type := 0;
Array_Type_I_Var : Array_Type_I := (1, 2, 3, 4);
Array_Type_I_Var : Array_Type_I := (1, 2, 3, 4, others => 0);
String_Array : constant array (Integer range <>) of String_Type :=
(To_Bounded_String ("Bounded string message"),
To_Bounded_String ("Longer bounded string message"),
......@@ -99,10 +99,12 @@ package body Some_Types_Pkg is
procedure Emit_Array (Data_Source : out Array_Type_I) is
begin
Data_Source := Array_Type_I_Var;
Array_Type_I_Var := (Array_Type_I_Var (2),
Array_Type_I_Var (3),
Array_Type_I_Var (4),
Array_Type_I_Var (1));
Array_Type_I_Var (Array_Type_I_Var'First .. Array_Type_I_Var'First + 3)
:= (Array_Type_I_Var (2),
Array_Type_I_Var (3),
Array_Type_I_Var (4),
Array_Type_I_Var (1));
Put_Line
("***** Emitting Array : ("
& Integer_Type'Image (Data_Source (1))
......
This diff is collapsed.
......@@ -159,6 +159,8 @@ package PolyORB_HI.Thread_Interrogators is
-- during the current dispatch. The parameter of the function has
-- the only utility to allow having one Receive_Input per thread.
procedure Get_Value (Port : Port_Type;
Result : in out Thread_Interface_Type);
function Get_Value (Port : Port_Type) return Thread_Interface_Type;
-- Return the value corresponding to a given port. A second call to
-- Get_Value returns always the same value unless Next_Value has
......
This diff is collapsed.
......@@ -132,9 +132,16 @@ package PolyORB_HI.Unprotected_Queue is
-- Number of ports in the thread
function Interface_To_Stream is
new Ada.Unchecked_Conversion (Thread_Interface_Type, Port_Stream);
new Ada.Unchecked_Conversion (Thread_Interface_Type, Port_Stream);
-- function Interface_To_Stream (Input : Thread_Interface_Type)
-- return Port_Stream;
function Stream_To_Interface is
new Ada.Unchecked_Conversion (Port_Stream, Thread_Interface_Type);
new Ada.Unchecked_Conversion (Port_Stream, Thread_Interface_Type);
-- function Stream_To_Interface (Input : Port_Stream)
-- return Thread_Interface_Type;
type Port_Stream_Array is array (Port_Type) of Port_Stream_Entry;
......@@ -172,16 +179,16 @@ package PolyORB_HI.Unprotected_Queue is
-- False if there is nothing to receive.
procedure Dequeue
(T : Port_Type; P : out Port_Stream_Entry; Not_Empty : out Boolean);
(T : Port_Type; Not_Empty : out Boolean);
-- Dequeue a value from the partial FIFO of port T. If there is
-- no enqueued value, return the latest dequeued value.
function Read_In (T : Port_Type) return Port_Stream_Entry;
procedure Read_In (T : Port_Type; P : out Port_Stream_Entry);
-- Read the oldest queued value on the partial FIFO of IN port
-- T without dequeuing it. If there is no queued value, return
-- the latest dequeued value.
function Read_Out (T : Port_Type) return Port_Stream_Entry;
procedure Read_Out (T : Port_Type; P : out Port_Stream_Entry);
-- Return the value put for OUT port T.
function Is_Invalid (T : Port_Type) return Boolean;
......@@ -197,7 +204,9 @@ package PolyORB_HI.Unprotected_Queue is
-- states.
procedure Store_In
(P : Port_Stream_Entry; T : Time; Not_Empty : out Boolean);
(Thread_Interface : Thread_Interface_Type;
From : Entity_Type;
T : Time; Not_Empty : out Boolean);
-- Stores a new incoming message in its corresponding
-- position. If this is an event [data] incoming message, then
-- stores it in the queue, updates its most recent value and
......@@ -207,7 +216,9 @@ package PolyORB_HI.Unprotected_Queue is
-- indicates the instant from which the data of P becomes
-- deliverable.
procedure Store_Out (P : Port_Stream_Entry; T : Time);
procedure Store_Out (Thread_Interface : Thread_Interface_Type;
From : Entity_Type;
T : Time);
-- Store a value of an OUT port to be sent at the next call to
-- Send_Output and mark the value as valid.
......@@ -219,10 +230,14 @@ package PolyORB_HI.Unprotected_Queue is
-- The following are accessors to some internal data of the event queue
function Get_Most_Recent_Value (P : Port_Type) return Port_Stream_Entry;
procedure Get_Most_Recent_Value
(P : Port_Type;
S : out Port_Stream_Entry);
procedure Set_Most_Recent_Value
(P : Port_Type;
S : Port_Stream_Entry;
From : Entity_Type;
Thread_Interface : Thread_Interface_Type;
T : Time);
-- The protected object contains also an array to store the
-- values of received IN DATA ports as well as the most recent
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment