本文整理汇总了Java中org.jgroups.Event.getArg方法的典型用法代码示例。如果您正苦于以下问题:Java Event.getArg方法的具体用法?Java Event.getArg怎么用?Java Event.getArg使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.jgroups.Event
的用法示例。
在下文中一共展示了Event.getArg方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: up
import org.jgroups.Event; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public Object up(Event evt) {
switch (evt.getType()) {
case Event.FIND_MBRS:
List<Address> missing = (List<Address>) evt.getArg();
Responses responses = new Responses(false);
for (Address laddr : missing) {
try {
if (laddr instanceof JGAddress) {
PingData pd = new PingData(laddr, true, laddr.toString(), newIpAddress(laddr));
responses.addResponse(pd, false);
updateUDPCache(pd);
}
} catch (RuntimeException e) {
logger.warn("Unable to create PingData response", e);
throw e;
}
}
return responses;
}
return up_prot.up(evt);
}
示例2: up
import org.jgroups.Event; //导入方法依赖的package包/类
@Override
public Object up(Event event) {
int type = event.getType();
if (displayUpMessages) {
if (type == Event.MSG) {
Message msg = (Message) event.getArg();
if (msg != null) {
byte[] buffer = msg.getBuffer();
if (buffer != null) {
log.info(">>>" + new String(buffer));
}
}
}
}
return up_prot.up(event);
}
示例3: up
import org.jgroups.Event; //导入方法依赖的package包/类
/**
* If event is a message, if it is fragmented, re-assemble fragments into big message and pass up the stack.
*/
public Object up(Event evt) {
switch(evt.getType()) {
case Event.MSG:
Message msg=(Message)evt.getArg();
FragHeader hdr=(FragHeader)msg.getHeader(this.id);
if(hdr != null) { // needs to be defragmented
Message assembled_msg=unfragment(msg, hdr);
if(assembled_msg != null) {
if(log.isTraceEnabled()) log.trace("%s: assembled_msg is %s", local_addr, assembled_msg);
assembled_msg.setSrc(msg.getSrc()); // needed ? YES, because fragments have a null src !!
up_prot.up(new Event(Event.MSG, assembled_msg));
}
return null;
}
break;
case Event.VIEW_CHANGE:
handleViewChange((View)evt.getArg());
break;
}
return up_prot.up(evt); // Pass up to the layer above us by default
}
示例4: up
import org.jgroups.Event; //导入方法依赖的package包/类
/**
* If event is a message, if it is fragmented, re-assemble fragments into big message and pass up the stack.
*/
public Object up(Event evt) {
switch(evt.getType()) {
case Event.MSG:
Message msg=(Message)evt.getArg();
FragHeader hdr=(FragHeader)msg.getHeader(this.id);
if(hdr != null) { // needs to be defragmented
Message assembled_msg=unfragment(msg, hdr);
if(assembled_msg != null)
up_prot.up(new Event(Event.MSG, assembled_msg));
return null;
}
else {
num_received_msgs++;
}
break;
case Event.VIEW_CHANGE:
handleViewChange((View)evt.getArg());
break;
}
return up_prot.up(evt); // Pass up to the layer above us by default
}
示例5: up
import org.jgroups.Event; //导入方法依赖的package包/类
public Object up(Event evt) {
switch(evt.getType()) {
case Event.MSG:
Message msg=(Message)evt.getArg();
ForkHeader hdr=(ForkHeader)msg.getHeader(id);
if(hdr == null)
break;
if(hdr.fork_stack_id == null)
throw new IllegalArgumentException("header has a null fork_stack_id");
Protocol bottom_prot=get(hdr.fork_stack_id);
return bottom_prot != null? bottom_prot.up(evt) : this.unknownForkHandler.handleUnknownForkStack(msg, hdr.fork_stack_id);
case Event.VIEW_CHANGE:
for(Protocol bottom: fork_stacks.values())
bottom.up(evt);
break;
}
return up_prot.up(evt);
}
示例6: up
import org.jgroups.Event; //导入方法依赖的package包/类
public Object up(Event evt) {
switch(evt.getType()) {
case Event.MSG:
if(log.isTraceEnabled()) {
Message msg=(Message)evt.getArg();
long size=raw_buffer? msg.getLength() : msg.size();
if(size >= min_size) {
StringBuilder sb=new StringBuilder(local_addr + ".up(): size of message buffer=");
sb.append(Util.printBytes(size)).append(", " + numHeaders(msg) + " headers");
if(print_msg)
sb.append(", headers=" + msg.printHeaders());
log.trace(sb);
}
}
break;
}
return up_prot.up(evt); // pass up to the layer above us
}
示例7: up
import org.jgroups.Event; //导入方法依赖的package包/类
/**
* If there is no header, we pass the message up. Otherwise we uncompress the payload to its original size.
* @param evt
*/
public Object up(Event evt) {
if(evt.getType() == Event.MSG) {
Message msg=(Message)evt.getArg();
CompressHeader hdr=(CompressHeader)msg.getHeader(this.id);
if(hdr != null) {
Message uncompressed_msg=uncompress(msg, hdr.original_size);
if(uncompressed_msg != null) {
if(log.isTraceEnabled())
log.trace("up(): uncompressed " + msg.getLength() + " bytes to " + uncompressed_msg.getLength() + " bytes");
return up_prot.up(new Event(Event.MSG, uncompressed_msg));
}
}
}
return up_prot.up(evt);
}
示例8: up
import org.jgroups.Event; //导入方法依赖的package包/类
@Override
public Object up(Event evt) {
switch (evt.getType()) {
case Event.MSG:
Message msg = (Message) evt.getArg();
processForMulticast(msg, INCOMING);
processForUnicast(msg, INCOMING);
filter(msg, INCOMING);
}
return up_prot.up(evt);
}
示例9: down
import org.jgroups.Event; //导入方法依赖的package包/类
@Override
public Object down(Event evt) {
switch (evt.getType()) {
case Event.MSG:
Message msg = (Message) evt.getArg();
processForMulticast(msg, OUTGOING);
processForUnicast(msg, OUTGOING);
filter(msg, OUTGOING);
break;
}
do {
try {
return down_prot.down(evt);
} catch (RejectedExecutionException e) {
logger
.debug("retrying JGroups message transmission due to rejected execution (GEODE-1178)");
try {
Thread.sleep(10);
} catch (InterruptedException ie) {
// down() does not throw InterruptedException so we can only set the interrupt flag and
// return
Thread.currentThread().interrupt();
return null;
}
}
} while (services != null && !services.getManager().shutdownInProgress()
&& !services.getCancelCriterion().isCancelInProgress());
return null;
}
示例10: down
import org.jgroups.Event; //导入方法依赖的package包/类
@Override
public Object down(Event evt) {
switch (evt.getType()) {
case Event.MSG:
handleMessage((Message) evt.getArg());
return null;
case Event.SET_LOCAL_ADDRESS:
uuid = (UUID) evt.getArg();
break;
}
return down_prot.down(evt);
}
示例11: down
import org.jgroups.Event; //导入方法依赖的package包/类
public Object down(Event evt) {
if(evt.getType() == Event.MSG) {
Message msg=(Message)evt.getArg();
int length=msg.getLength();
num_msgs_in_period.incrementAndGet();
bytes_in_period.addAndGet(length);
}
return null;
}
示例12: up
import org.jgroups.Event; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
public Object up(Event evt) {
switch(evt.getType()) {
case Event.MSG:
Message msg=(Message)evt.getArg();
if(msg.isFlagSet(Message.Flag.NO_FC))
break;
Address dest=msg.getDest();
boolean multicast=dest == null;
boolean handle_multicasts=handleMulticastMessage();
FcHeader hdr=(FcHeader)msg.getHeader(this.id);
boolean process=(handle_multicasts && multicast) || (!handle_multicasts && !multicast) || hdr != null;
if(!process)
break;
if(hdr != null) {
handleUpEvent(msg, hdr);
return null; // don't pass message up
}
Address sender=msg.getSrc();
long new_credits=adjustCredit(received, sender, msg.getLength());
try {
return up_prot.up(evt);
}
finally {
if(new_credits > 0)
sendCredit(sender, new_credits);
}
case Event.VIEW_CHANGE:
handleViewChange(((View)evt.getArg()).getMembers());
break;
}
return up_prot.up(evt);
}
示例13: down
import org.jgroups.Event; //导入方法依赖的package包/类
public Object down(Event evt) {
boolean copy=(copy_multicast_msgs || copy_unicast_msgs) && outgoing_copies > 0;
if(!copy)
return down_prot.down(evt);
switch(evt.getType()) {
case Event.MSG:
Message msg=(Message)evt.getArg();
copy(msg, outgoing_copies, Direction.DOWN);
break;
}
return down_prot.down(evt);
}
示例14: up
import org.jgroups.Event; //导入方法依赖的package包/类
public Object up(Event evt) {
boolean copy=(copy_multicast_msgs || copy_unicast_msgs) && incoming_copies > 0;
if(!copy)
return up_prot.up(evt);
switch(evt.getType()) {
case Event.MSG:
Message msg=(Message)evt.getArg();
copy(msg, incoming_copies, Direction.UP);
break;
}
return up_prot.up(evt);
}
示例15: up
import org.jgroups.Event; //导入方法依赖的package包/类
public Object up(Event evt) {
if(evt.getType() == Event.MSG) {
Message msg=(Message)evt.getArg();
printMessage(msg, "up");
}
return up_prot.up(evt); // Pass up to the layer above us
}