for(String site_name: site_names) { try { SiteMaster sm=new SiteMaster(site_name); mbrs.add(sm);
public boolean equals(Object obj) { return compareTo((Address)obj) == 0; }
public UUID copy() { return new SiteMaster(get(SITE_NAME)); }
SiteAddress sender=src instanceof SiteMaster? new SiteMaster(((SiteMaster)src).getSite()) : new SiteUUID((UUID)local_addr, NameCache.get(local_addr), site); if(local_addr instanceof ExtendedUUID)
public int hashCode() { return Arrays.hashCode(get(SITE_NAME)); }
public SiteMaster(byte[] site) { super(0, 0, null, site); setFlag(RELAY2.site_master_flag); }
public String toString() { return "SiteMaster(" + getSite() + ")"; } }
SiteAddress sender=src instanceof SiteMaster? new SiteMaster(((SiteMaster)src).getSite()) : new SiteUUID((UUID)local_addr, NameCache.get(local_addr), site); if(local_addr instanceof ExtendedUUID)
public SiteMaster() { setFlag(RELAY2.site_master_flag); }
/** * <b>Callback</b>. * <p> * Called by the protocol below when a message has been received. The algorithm should test whether the message * is destined for us and, if not, pass it up to the next layer. Otherwise, it should remove the header and check * whether the message is a request or response. * In the first case, the message will be delivered to the request handler registered * (calling its {@code handle()} method), in the second case, the corresponding response collector is looked up and * the message delivered. * @param evt The event to be received * @return Whether or not the event was consumed. If true, don't pass message up, else pass it up */ public boolean receive(Event evt) { switch(evt.getType()) { case Event.VIEW_CHANGE: // adjust number of responses to wait for receiveView(evt.getArg()); break; case Event.SET_LOCAL_ADDRESS: setLocalAddress(evt.getArg()); break; case Event.SITE_UNREACHABLE: SiteMaster site_master=evt.getArg(); String site=site_master.getSite(); setSiteUnreachable(site); break; // let others have a stab at this event, too } return false; }
/** * Sends a SITE-UNREACHABLE message to the sender of the message. Because the sender is always local (we're the * relayer), no routing needs to be done * @param dest * @param target_site */ protected void sendSiteUnreachableTo(Address dest, String target_site) { Message msg=new Message(dest).setFlag(Message.Flag.OOB, Message.Flag.INTERNAL) .src(new SiteUUID((UUID)local_addr, NameCache.get(local_addr), site)) .putHeader(id,new Relay2Header(Relay2Header.SITE_UNREACHABLE,new SiteMaster(target_site),null)); down_prot.down(msg); }
public UUID copy() { return new SiteMaster(get(SITE_NAME)); }
public int hashCode() { return Arrays.hashCode(get(SITE_NAME)); }
public SiteMaster() { setFlag(RELAY2.site_master_flag); }
public String toString() { return "SiteMaster(" + getSite() + ")"; } }
public boolean equals(Object obj) { return compareTo((Address)obj) == 0; }
for(String site_master: site_masters) { try { SiteMaster dest=new SiteMaster(site_master); System.out.println("invoking method in " + dest + ": "); Object rsp=disp.callRemoteMethod(dest, call, new RequestOptions(ResponseMode.GET_ALL, RPC_TIMEOUT)); for(String site_master: site_masters) { try { dests.add(new SiteMaster(site_master));
public SiteMaster(byte[] site) { super(0, 0, null, site); setFlag(RELAY2.site_master_flag); }