当前位置: 首页>>代码示例>>Java>>正文


Java Event.getArg方法代码示例

本文整理汇总了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);
}
 
开发者ID:ampool,项目名称:monarch,代码行数:27,代码来源:AddressManager.java

示例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);
}
 
开发者ID:NovaOrdis,项目名称:playground,代码行数:24,代码来源:INSPECT.java

示例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
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:28,代码来源:FRAG2.java

示例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
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:27,代码来源:FRAG.java

示例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);
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:20,代码来源:FORK.java

示例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
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:19,代码来源:SIZE.java

示例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);
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:20,代码来源:COMPRESS.java

示例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);
}
 
开发者ID:ampool,项目名称:monarch,代码行数:12,代码来源:StatRecorder.java

示例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;
}
 
开发者ID:ampool,项目名称:monarch,代码行数:30,代码来源:StatRecorder.java

示例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);
}
 
开发者ID:ampool,项目名称:monarch,代码行数:13,代码来源:InterceptUDP.java

示例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;
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:10,代码来源:RATE_LIMITER_Test.java

示例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);
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:40,代码来源:FlowControl.java

示例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);
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:15,代码来源:DUPL.java

示例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);
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:15,代码来源:DUPL.java

示例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
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:8,代码来源:HDRS.java


注:本文中的org.jgroups.Event.getArg方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。