0
|
1 package rep;
|
|
2
|
271
|
3 public enum REP {
|
400
|
4 REPCMD_INSERT_USER ( 5),
|
271
|
5 REPCMD_INSERT ( 6),
|
|
6 REPCMD_INSERT_ACK ( 7),
|
400
|
7 REPCMD_DELETE_USER ( 8),
|
271
|
8 REPCMD_DELETE ( 9),
|
|
9 REPCMD_DELETE_ACK ( 10),
|
|
10 REPCMD_CLOSE ( 11),
|
|
11 REPCMD_CLOSE_2 ( 12),
|
465
|
12 REPCMD_MERGE_MARK(13),
|
271
|
13 REPCMD_NOP ( 15),
|
|
14 SMCMD_JOIN ( 41),
|
|
15 SMCMD_JOIN_ACK ( 42),
|
|
16 SMCMD_PUT ( 45),
|
|
17 SMCMD_PUT_ACK ( 46),
|
|
18 SMCMD_SELECT ( 47),
|
372
|
19 SMCMD_SELECT_ACK ( 48),
|
|
20 SMCMD_SELECT0(49),
|
271
|
21 SMCMD_QUIT ( 53),
|
|
22 SMCMD_QUIT_ACK ( 54),
|
|
23 SMCMD_SM_JOIN ( 62),
|
|
24 SMCMD_SM_JOIN_ACK ( 63),
|
|
25 SMCMD_UPDATE ( 65),
|
|
26 SMCMD_UPDATE_ACK ( 66),
|
|
27 SMCMD_START_MERGE ( 75),
|
|
28 SMCMD_START_MERGE_ACK ( 76),
|
|
29 SMCMD_END_MERGE ( 77),
|
341
|
30 SMCMD_QUIT_2 ( 67),
|
|
31 SMCMD_QUIT_2_ACK ( 68),
|
261
|
32
|
|
33
|
313
|
34 SM_EID ( -1),
|
271
|
35 MERGE_EID ( -2),
|
|
36
|
341
|
37 SMCMD_SYNC ( 83),
|
471
|
38 SMCMD_SYNC_ACK ( 84),
|
|
39 SMCMD_SLEEP(85);
|
271
|
40
|
|
41 public final int id;
|
|
42
|
|
43 REP(int id) {
|
|
44 this.id = id;
|
|
45 }
|
|
46
|
|
47 static int max = 0;
|
|
48 static int min = 100;
|
261
|
49
|
271
|
50 static REP rep[] ;
|
|
51 static {
|
|
52 // Certainly this is ridiculous...
|
|
53 for (REP r : REP.values()) {
|
|
54 if (max<r.id) max = r.id;
|
|
55 if (min>r.id) min = r.id;
|
|
56 }
|
|
57 rep = new REP[max-min+1];
|
|
58 for (REP r : REP.values()) {
|
|
59 rep[r.id-min] = r;
|
|
60 }
|
|
61 }
|
|
62
|
|
63 public static REP newREP(int id) {
|
|
64 // return new REP(id); this does not work...
|
|
65 return rep[id-min];
|
|
66 }
|
141
|
67
|
0
|
68 }
|