Пример #1
0
 public Server() {
   id = IdGenerator.getInstance().getId();
   spreadGroup = new SpreadGroup();
   GroupConnection.getInstance().getConnection().add(listener);
   knownServers = new HashMap<>();
   waitingOperations = new LinkedBlockingDeque<>();
 }
Пример #2
0
 public void connectToGroup(String group) {
   this.groupName = group;
   try {
     spreadGroup.join(GroupConnection.getInstance().getConnection(), groupName);
   } catch (SpreadException e) {
     e.printStackTrace();
   }
 }
Пример #3
0
 public void sendElection() {
   this.isMaster = true;
   SpreadMessage message = new SpreadMessage();
   try {
     message.setType(MessageType.ELECTION.code);
     message.setObject(id);
     message.addGroup(groupName);
     message.setReliable();
     GroupConnection.getInstance().getConnection().multicast(message);
   } catch (SpreadException e) {
     e.printStackTrace();
   }
 }
Пример #4
0
  public void leave() {

    GroupConnection.getInstance().getConnection().remove(listener);
  }