blob: f883050ad586667f34e2eeaf5770fb0e408ee787 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
/**
* @file Control.idl
*
* $Id$
*
* @author Carlos O'Ryan <coryan@uci.edu>
*
*/
#include "orbsvcs/RtecEventChannelAdmin.idl"
module Control
{
typedef sequence<unsigned long long> Samples;
/// Simple interface to control loopback Consumer/Supplier pairs in
/// the Peers
interface Loopback;
/**
* @brief Define the interface used to control the peers in the test
*/
interface Peer
{
/// Obtain a reference to the Peer's event channel
readonly attribute RtecEventChannelAdmin::EventChannel channel;
/// Connect the peer to one remote event channel
void connect (in RtecEventChannelAdmin::EventChannel remote_channel);
/// Setup a Loopback object and return it
Loopback setup_loopback (in long experiment_id);
/// Run the test using the prescribed number of iterations
Samples run_experiment (in long experiment_id,
in long iterations,
out long gsf);
/// Shutdown the peer
void shutdown ();
};
/**
* This interface is used to destroy and disconnect loopback
* consumer/supplier pairs.
*/
interface Loopback
{
/// Destroy the loopback objects
void destroy ();
};
/**
* @brief Define the interface used to coordinate the peers
*/
interface Coordinator
{
/// A new peer has joined the test
oneway void join (in Peer the_peer);
};
};
|