Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit a082804

Browse filesBrowse files
author
rpytel1
committed
Initial commit for 3rd assignment
1 parent af5b70e commit a082804
Copy full SHA for a082804

File tree

13 files changed

+267
-9
lines changed
Filter options

13 files changed

+267
-9
lines changed

‎Assignment1/src/server/Client2.java

Copy file name to clipboardExpand all lines: Assignment1/src/server/Client2.java
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public class Client2 {
3838
public static void main(String[] args) throws AlreadyBoundException, NotBoundException, IOException, InterruptedException {
3939

4040
// "clients" files contain the name of the remote processes used
41-
BufferedReader br = new BufferedReader(new FileReader("tests/clients3.txt"));
41+
BufferedReader br = new BufferedReader(new FileReader("tests/clients3.txt"));
4242
String line = br.readLine();
4343
numProc = Integer.parseInt(line);
4444
localProc = 0;

‎Assignment2/src/assignment2/server/Client2.java

Copy file name to clipboardExpand all lines: Assignment2/src/assignment2/server/Client2.java
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public class Client2 {
2323
public static void main(String[] args) throws AlreadyBoundException, NotBoundException, IOException, InterruptedException {
2424

2525
// "clients" files contain the name of the remote processes used
26-
BufferedReader br = new BufferedReader(new FileReader("tests/clients3.txt"));
26+
BufferedReader br = new BufferedReader(new FileReader("tests/clients4.txt"));
2727

2828

2929
String line = br.readLine();

‎Assignment2/src/assignment2/server/RemoteComponentImpl.java

Copy file name to clipboardExpand all lines: Assignment2/src/assignment2/server/RemoteComponentImpl.java
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ public void receiveToken(Token tk){
182182
}
183183
if (flag) {
184184
States[id] = "H";
185+
System.out.println(getStateStamp() +id + ":Holding the token");
185186
} else {
186187
for (int i = 1; i < numProc + 1; i++) {
187188
// Cyclic check
+56Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package assignment3.link;
2+
3+
import assignment3.node.Node;
4+
5+
import java.io.Serializable;
6+
7+
public class Link implements Serializable{
8+
LinkState state;
9+
Node from;
10+
Node to;
11+
double weight;
12+
int delay;
13+
14+
public Link() {
15+
}
16+
17+
public LinkState getState() {
18+
return state;
19+
}
20+
21+
public void setState(LinkState state) {
22+
this.state = state;
23+
}
24+
25+
public Node getFrom() {
26+
return from;
27+
}
28+
29+
public void setFrom(Node from) {
30+
this.from = from;
31+
}
32+
33+
public Node getTo() {
34+
return to;
35+
}
36+
37+
public void setTo(Node to) {
38+
this.to = to;
39+
}
40+
41+
public double getWeight() {
42+
return weight;
43+
}
44+
45+
public void setWeight(double weight) {
46+
this.weight = weight;
47+
}
48+
49+
public int getDelay() {
50+
return delay;
51+
}
52+
53+
public void setDelay(int delay) {
54+
this.delay = delay;
55+
}
56+
}
+8Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package assignment3.link;
2+
3+
public enum LinkState {
4+
IN_MST,
5+
CANDIDATE_IN_MST,
6+
NOT_IN_MST
7+
8+
}
+36Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package assignment3.message;
2+
3+
import java.io.Serializable;
4+
5+
public class Message implements Serializable {
6+
7+
private MessageType type;
8+
private int senderId;
9+
private int receiverID;
10+
11+
public Message() {
12+
}
13+
public MessageType getType() {
14+
return type;
15+
}
16+
17+
public void setType(MessageType type) {
18+
this.type = type;
19+
}
20+
21+
public int getSenderId() {
22+
return senderId;
23+
}
24+
25+
public void setSenderId(int senderId) {
26+
this.senderId = senderId;
27+
}
28+
29+
public int getReceiverID() {
30+
return receiverID;
31+
}
32+
33+
public void setReceiverID(int receiverID) {
34+
this.receiverID = receiverID;
35+
}
36+
}
+9Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package assignment3.message;
2+
3+
public enum MessageType {
4+
INITIATE,
5+
TEST,
6+
ACCEPT,
7+
CHANGE_ROOT,
8+
CONNECT
9+
}
+7Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package assignment3.node;
2+
3+
import java.rmi.Remote;
4+
5+
public interface IComponent extends Remote {
6+
7+
}
+100Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
package assignment3.node;
2+
3+
import assignment3.link.Link;
4+
import assignment3.message.Message;
5+
6+
import java.rmi.RemoteException;
7+
import java.rmi.server.UnicastRemoteObject;
8+
import java.util.List;
9+
10+
public class Node extends UnicastRemoteObject implements IComponent{
11+
12+
Node[] nodes;
13+
14+
int id;
15+
NodeState state;
16+
int level;
17+
String fragmentName;
18+
19+
List<Link> coreLinks;
20+
Link testEdgeAdjacent;
21+
int weightBestAdjecent;
22+
List<Link> links;
23+
List<Link> moeCandidatesList;
24+
25+
protected Node() throws RemoteException {
26+
super();
27+
}
28+
29+
public void wakeUp() {
30+
31+
}
32+
33+
public void receive(Message message, Link link) {
34+
switch (message.getType()) {
35+
case TEST:
36+
receiveTest(message, link);
37+
break;
38+
case ACCEPT:
39+
receiveAccept(message, link);
40+
break;
41+
case CONNECT:
42+
receiveConnect(message, link);
43+
break;
44+
case INITIATE:
45+
receiveInitiate(message, link);
46+
break;
47+
case CHANGE_ROOT:
48+
receiveChangeRoot(message, link);
49+
break;
50+
}
51+
}
52+
53+
public void send(Message message, Link link) {
54+
55+
}
56+
57+
private void receiveConnect(Message message, Link link) {
58+
59+
}
60+
61+
private void receiveInitiate(Message message, Link link) {
62+
63+
}
64+
65+
private void test() {
66+
67+
}
68+
69+
private void receiveTest(Message message, Link link) {
70+
71+
}
72+
73+
private void reject(Link link) {
74+
75+
}
76+
77+
private void receiveReject(Message message, Link link) {
78+
79+
}
80+
81+
private void receiveAccept(Message message, Link link) {
82+
83+
}
84+
85+
private void report() {
86+
87+
}
88+
89+
private void receiveReport(Message message, Link link) {
90+
91+
}
92+
93+
private void changeRoot() {
94+
95+
}
96+
97+
private void receiveChangeRoot(Message message, Link link) {
98+
99+
}
100+
}
+7Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package assignment3.node;
2+
3+
public enum NodeState {
4+
SLEEPING,
5+
FIND,
6+
FOUND
7+
}
+34Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package assignment3.server;
2+
3+
import assignment3.node.IComponent;
4+
5+
/* Class used to implement the Runnable interface so that each process is associated with a thread
6+
* All the requesting part is included in the run() method of the class
7+
*/
8+
public class RemoteProcess implements Runnable {
9+
10+
IComponent process; // the associated remote process
11+
12+
public RemoteProcess(IComponent process) {
13+
this.process = process;
14+
}
15+
16+
@Override
17+
public void run() {
18+
for (int i = 0; i < 3; i++) {
19+
{
20+
try {
21+
// every process sleeps for some random milliseconds before sending each new
22+
// request
23+
Thread.sleep((int) (Math.random() * 1000));
24+
//TODO:add init method
25+
Thread.sleep(25000);
26+
} catch (Exception e) {
27+
System.err.println("Client exception: " + e.toString());
28+
e.printStackTrace();
29+
}
30+
}
31+
}
32+
33+
}
34+
}

‎tests/messages.txt

Copy file name to clipboard
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
0 msg0 1 10000 0
2-
0 msg1 2 100 500
3-
2 msg2 1 5000 1000
2+
0 msg1 2 100 1000
3+
2 msg2 1 5000 2000

‎tests/messages3.txt

Copy file name to clipboard
+5-5Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
0 msg1 2 10000 0
2-
0 msg2 1 200 500
3-
0 msg3 3 300 3500
4-
1 msg4 2 300 1000
5-
1 msg5 3 400 1500
6-
3 msg6 2 1000 4000
2+
0 msg2 1 200 1000
3+
0 msg3 3 300 7000
4+
1 msg4 2 300 2000
5+
1 msg5 3 400 3000
6+
3 msg6 2 1000 8000

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.