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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
//
// $Id$
//
#include "tao/StringSeq.pidl"
interface Hello
{
/// Return a simple string
string get_string ();
/// A method to shutdown the ORB
/**
* This method is used to simplify the test shutdown process
*/
oneway void shutdown ();
};
interface test
{
void method (in unsigned long test_start,
in unsigned long test_end,
in unsigned long work,
in unsigned long prime_number,
in unsigned long end);
void shutdown ();
void dump ();
};
typedef sequence<Object> ObjectList;
struct Replica {
string object_id;
Object next_member;
};
typedef sequence<Replica> ReplicaList;
struct Replicas {
string object_id;
Object next_members;
};
typedef sequence<Replicas> ReplicasList;
typedef CORBA::StringSeq PrimaryList;
typedef CORBA::StringSeq FailoverList;
typedef CORBA::StringSeq SecondaryList;
typedef CORBA::StringSeq HostList;
struct UtilMap {
string host_id;
float load;
};
typedef sequence<UtilMap> UtilMapList;
struct Rank
{
string object_id;
boolean now;
ObjectList ior_list;
};
typedef sequence<Rank> RankList;
interface Agent
{
// string next_member (in string m);
Object next_member (in string m);
//void update_reference (in string m);
//void update_failover (in string m, in Object next_object);
//void update_secondary (in string m, in Object next_object);
//void initialize_agent (in ReplicaList replica_list,
// in ReplicasList replicas_list);
//void update_failover_list (in FailoverList failover_list);
void update_rank_list (in RankList rank_list);
};
interface ReplicationManager
{
RankList register_agent (in Object agent_reference);
void register_application (in string object_id, in double load,
in string host_id, in string process_id,
in short role, in Object server_reference);
void util_update (in string host_id, in double utilization);
void proc_failure (in string process_id);
Object get_next (in string object_id);
};
|