1 46 package org.mr.kernel.delivery; 47 48 import java.util.HashMap ; 49 50 import org.mr.core.net.MantaAddress; 51 import org.mr.core.protocol.MantaBusMessage; 52 53 57 public class DeliveryAckNotifier { 58 59 DeliveryAckListener global = null; 60 HashMap messageToListenerMap = new HashMap (); 61 62 public DeliveryAckListener getGlobal() { 63 return global; 64 } 65 public void setGlobalListener(DeliveryAckListener global) { 66 this.global = global; 67 } 68 public void setTempListener(MantaBusMessage msg,DeliveryAckListener temp ){ 69 messageToListenerMap.put(msg, temp); 70 } 71 72 public void gotAck(MantaBusMessage msg, MantaAddress source) { 73 if(global != null) 74 global.gotAck(msg, source); 75 DeliveryAckListener temp = (DeliveryAckListener) messageToListenerMap.remove(msg); 76 if(temp != null) 77 temp.gotAck(msg, source); 78 79 } 80 81 public void gotAckReject(MantaBusMessage msg, MantaAddress source) { 82 if(global != null) 83 global.gotAckReject(msg, source); 84 85 DeliveryAckListener temp = 86 (DeliveryAckListener) messageToListenerMap.remove(msg); 87 if(temp != null) { 88 temp.gotAckReject(msg, source); 89 } 90 } 91 92 public void removeTempListener(MantaBusMessage msg) { 93 messageToListenerMap.remove(msg); 94 95 } 96 } 97 | Popular Tags |