You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.4 KiB
Java
54 lines
1.4 KiB
Java
// SWP5.java (C) I. A. Robin, K. J. Turner 04/03/06
|
|
|
|
package protocol;
|
|
|
|
import java.util.*;
|
|
import support.*;
|
|
|
|
public class SWP5 extends Protocol {
|
|
|
|
private int maxSeq = 7;
|
|
private int winSize = 3;
|
|
private SWP5Service userA;
|
|
private SWP5Service userB;
|
|
private SWP5Sender sender;
|
|
private SWP5Receiver receiver;
|
|
|
|
public SWP5() {
|
|
medium = new Medium();
|
|
userA = new SWP5Service("User A", true);
|
|
userB = new SWP5Service("User B", false);
|
|
sender = new SWP5Sender(maxSeq, winSize, medium);
|
|
receiver = new SWP5Receiver(maxSeq, winSize, medium);
|
|
userA.setProvider(sender);
|
|
userB.setProvider(receiver);
|
|
sender.setUser(userA);
|
|
receiver.setUser(userB);
|
|
sender.setPeer(receiver);
|
|
receiver.setPeer(sender);
|
|
entities = new Vector<ProtocolEntity>();
|
|
entities.addElement(userA);
|
|
entities.addElement(sender);
|
|
entities.addElement(medium);
|
|
entities.addElement(receiver);
|
|
entities.addElement(userB);
|
|
}
|
|
|
|
public void setParameter(String param, String value) {
|
|
try {
|
|
if (param.equals("maxSeq")) {
|
|
maxSeq = Integer.parseInt(value);
|
|
sender.setMaxSeq(maxSeq);
|
|
receiver.setMaxSeq(maxSeq);
|
|
}
|
|
if (param.equals("winSize")) {
|
|
winSize = Integer.parseInt(value);
|
|
sender.setWindowSize(winSize);
|
|
receiver.setWindowSize(winSize);
|
|
}
|
|
}
|
|
catch (NumberFormatException e) {}
|
|
}
|
|
|
|
}
|