annotate rep/EditorList.java @ 356:b18c24dcc5d2

Before chaning put/join scheme for ditributed select.
author kono
date Sat, 18 Oct 2008 19:01:40 +0900
parents 5ba5b7a9761b
children 034acadc0cdc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22
850a9cc4963a *** empty log message ***
pin
parents:
diff changeset
1 package rep;
850a9cc4963a *** empty log message ***
pin
parents:
diff changeset
2
23
01657c033761 *** empty log message ***
pin
parents: 22
diff changeset
3 import java.util.LinkedList;
01657c033761 *** empty log message ***
pin
parents: 22
diff changeset
4
356
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
5 public class EditorList extends LinkedList<Editor> {
23
01657c033761 *** empty log message ***
pin
parents: 22
diff changeset
6
356
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
7 /**
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
8 *
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
9 */
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
10 private static final long serialVersionUID = 1L;
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
11 private int eid_root=0;
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
12 private LinkedList<Editor> waiting= new LinkedList<Editor>();
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
13
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
14
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
15 public void addWaitingEditor(Editor fw) {
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
16 waiting.add(fw);
22
850a9cc4963a *** empty log message ***
pin
parents:
diff changeset
17 }
850a9cc4963a *** empty log message ***
pin
parents:
diff changeset
18
24
7012a944e58f *** empty log message ***
pin
parents: 23
diff changeset
19
356
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
20 public void assignSessionManagerIDtoWaitingSM(int eid) {
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
21 // 待っていたEditorにEditor IDを登録し,Session Manager List
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
22 // に登録する。この後、EditorのPUT/JOINに従って、ACKを送り、EID
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
23 // を確定する。
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
24 Editor waiter;
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
25 if ((waiter=waiting.poll())!=null) {
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
26 waiter.setEID(eid);
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
27 add(waiter);
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
28 return;
23
01657c033761 *** empty log message ***
pin
parents: 22
diff changeset
29 }
356
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
30 assert false;
24
7012a944e58f *** empty log message ***
pin
parents: 23
diff changeset
31 }
22
850a9cc4963a *** empty log message ***
pin
parents:
diff changeset
32
31
593f915dd6ff for JOIN and PUT Testing
pin
parents: 24
diff changeset
33
356
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
34 public int newEid() {
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
35 return ++eid_root;
76
97ca5f5447cd *** empty log message ***
pin
parents: 31
diff changeset
36 }
97ca5f5447cd *** empty log message ***
pin
parents: 31
diff changeset
37
85
d5cd4d103eea *** empty log message ***
pin
parents: 76
diff changeset
38
356
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
39 public boolean waiting(Editor editor) {
b18c24dcc5d2 Before chaning put/join scheme for ditributed select.
kono
parents: 337
diff changeset
40 return waiting.contains(editor);
85
d5cd4d103eea *** empty log message ***
pin
parents: 76
diff changeset
41 }
d5cd4d103eea *** empty log message ***
pin
parents: 76
diff changeset
42
91
b299e82cc05f *** empty log message ***
pin
parents: 87
diff changeset
43
22
850a9cc4963a *** empty log message ***
pin
parents:
diff changeset
44 }