• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java Event类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.jgroups.Event的典型用法代码示例。如果您正苦于以下问题:Java Event类的具体用法?Java Event怎么用?Java Event使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Event类属于org.jgroups包,在下文中一共展示了Event类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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: installView

import org.jgroups.Event; //导入依赖的package包/类
@Override
public void installView(NetView v) {
  this.view = v;

  if (this.jgAddress.getVmViewId() < 0) {
    this.jgAddress.setVmViewId(this.localAddress.getVmViewId());
  }
  List<JGAddress> mbrs = new ArrayList<>(v.size());
  mbrs.addAll(v.getMembers().stream().map(JGAddress::new).collect(Collectors.toList()));
  ViewId vid = new ViewId(new JGAddress(v.getCoordinator()), v.getViewId());
  View jgv = new View(vid, new ArrayList<>(mbrs));
  logger.trace("installing JGroups view: {}", jgv);
  this.myChannel.down(new Event(Event.VIEW_CHANGE, jgv));

  addressesWithIoExceptionsProcessed.clear();
  if (encrypt != null) {
    encrypt.installView(v);
  }
}
 
开发者ID:ampool,项目名称:monarch,代码行数:20,代码来源:JGroupsMessenger.java


示例3: filterOutgoingMessage

import org.jgroups.Event; //导入依赖的package包/类
/** look for certain messages that may need to be altered before being sent */
void filterOutgoingMessage(DistributionMessage m) {
  switch (m.getDSFID()) {
    case JOIN_RESPONSE:
      JoinResponseMessage jrsp = (JoinResponseMessage) m;

      if (jrsp.getRejectionMessage() == null
          && services.getConfig().getTransport().isMcastEnabled()) {
        // get the multicast message digest and pass it with the join response
        Digest digest = (Digest) this.myChannel.getProtocolStack().getTopProtocol()
            .down(Event.GET_DIGEST_EVT);
        HeapDataOutputStream hdos = new HeapDataOutputStream(500, Version.CURRENT);
        try {
          digest.writeTo(hdos);
        } catch (Exception e) {
          logger.fatal("Unable to serialize JGroups messaging digest", e);
        }
        jrsp.setMessengerData(hdos.toByteArray());
      }
      break;
    default:
      break;
  }
}
 
开发者ID:ampool,项目名称:monarch,代码行数:25,代码来源:JGroupsMessenger.java


示例4: filterIncomingMessage

import org.jgroups.Event; //导入依赖的package包/类
void filterIncomingMessage(DistributionMessage m) {
  switch (m.getDSFID()) {
    case JOIN_RESPONSE:
      JoinResponseMessage jrsp = (JoinResponseMessage) m;

      if (jrsp.getRejectionMessage() == null
          && services.getConfig().getTransport().isMcastEnabled()) {
        byte[] serializedDigest = jrsp.getMessengerData();
        ByteArrayInputStream bis = new ByteArrayInputStream(serializedDigest);
        DataInputStream dis = new DataInputStream(bis);
        try {
          Digest digest = new Digest();
          digest.readFrom(dis);
          logger.trace("installing JGroups message digest {}", digest);
          this.myChannel.getProtocolStack().getTopProtocol()
              .down(new Event(Event.MERGE_DIGEST, digest));
          jrsp.setMessengerData(null);
        } catch (Exception e) {
          logger.fatal("Unable to read JGroups messaging digest", e);
        }
      }
      break;
    default:
      break;
  }
}
 
开发者ID:ampool,项目名称:monarch,代码行数:27,代码来源:JGroupsMessenger.java


示例5: initialize

import org.jgroups.Event; //导入依赖的package包/类
public void initialize() {
  receivedAcks = new ConcurrentHashSet<>();

  pingPonger = new GMSPingPonger();
  // UUID logicalAddress = (UUID) channel.getAddress();
  // IpAddress ipaddr = (IpAddress) channel.down(new Event(Event.GET_PHYSICAL_ADDRESS));
  //
  // myAddress = new JGAddress(logicalAddress, ipaddr);
  myAddress = (JGAddress) channel.down(new Event(Event.GET_LOCAL_ADDRESS));

  addressConversionMap = new ConcurrentHashMap<>(this.lastView.size());
  List<InternalDistributedMember> members = this.lastView.getMembers();
  for (InternalDistributedMember addr : members) {
    SocketAddress sockaddr =
        new InetSocketAddress(addr.getNetMember().getInetAddress(), addr.getPort());
    addressConversionMap.put(sockaddr, addr);
  }

  isDebugEnabled = logger.isDebugEnabled();
  resume();
}
 
开发者ID:ampool,项目名称:monarch,代码行数:22,代码来源:GMSQuorumChecker.java


示例6: handleMessage

import org.jgroups.Event; //导入依赖的package包/类
private void handleMessage(Message msg) {
  if (collectMessages) {
    collectedMessages.add(msg);
  }
  Object o = msg.getHeader(nakackHeaderId);
  if (o != null) {
    mcastSentDataMessages++;
  } else {
    o = msg.getHeader(unicastHeaderId);
    if (o != null) {
      UNICAST3.Header hdr = (UNICAST3.Header) o;
      switch (hdr.type()) {
        case UNICAST3.Header.DATA:
          unicastSentDataMessages++;
          Message response = new Message(uuid, msg.getDest(), null);
          response.putHeader(unicastHeaderId, UNICAST3.Header.createAckHeader(hdr.seqno(),
              hdr.connId(), System.currentTimeMillis()));
          up_prot.up(new Event(Event.MSG, response));
          break;
      }
    }
  }
}
 
开发者ID:ampool,项目名称:monarch,代码行数:24,代码来源:InterceptUDP.java


示例7: recorderHandlesRejectedExecution

import org.jgroups.Event; //导入依赖的package包/类
@Test
public void recorderHandlesRejectedExecution() throws Exception {
  Message msg = mock(Message.class);
  when(msg.getHeader(any(Short.class))).thenReturn(Header.createDataHeader(1L, (short) 1, true));
  when(msg.size()).thenReturn(150L);

  // GEODE-1178, the TP protocol may throw a RejectedExecutionException & StatRecorder should
  // retry
  when(mockDownProtocol.down(any(Event.class))).thenThrow(new RejectedExecutionException());

  // after the first down() throws an exception we want StatRecorder to retry, so
  // we set the Manager to say no shutdown is in progress the first time and then say
  // one IS in progress so we can break out of the StatRecorder exception handling loop
  when(services.getCancelCriterion()).thenReturn(new Services().getCancelCriterion());
  Manager manager = mock(Manager.class);
  when(services.getManager()).thenReturn(manager);
  when(manager.shutdownInProgress()).thenReturn(Boolean.FALSE, Boolean.TRUE);

  verify(mockDownProtocol, never()).down(isA(Event.class));

  Event evt = new Event(Event.MSG, msg);
  recorder.down(evt);

  verify(mockDownProtocol, times(2)).down(isA(Event.class));
}
 
开发者ID:ampool,项目名称:monarch,代码行数:26,代码来源:StatRecorderJUnitTest.java


示例8: 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


示例9: down

import org.jgroups.Event; //导入依赖的package包/类
public Object down(Event evt) {
    switch(evt.getType()) {
        case Event.MSG:
            Message msg=(Message)evt.getArg();
            FORK.ForkHeader hdr=(FORK.ForkHeader)msg.getHeader(FORK.ID);
            if(hdr == null)
                msg.putHeader(FORK.ID, hdr=new FORK.ForkHeader(fork_stack_id, null));
            else
                hdr.setForkStackId(fork_stack_id);
            break;
        case Event.SET_LOCAL_ADDRESS:
        case Event.VIEW_CHANGE:
        case Event.CONNECT:
        case Event.CONNECT_USE_FLUSH:
        case Event.CONNECT_WITH_STATE_TRANSFER:
        case Event.CONNECT_WITH_STATE_TRANSFER_USE_FLUSH:
        case Event.DISCONNECT:
            return null; // don't propagate further down, this is only important for the main stack
    }
    return down_prot.down(evt);
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:22,代码来源:ForkProtocol.java


示例10: sendMessages

import org.jgroups.Event; //导入依赖的package包/类
public void sendMessages(final Protocol prot, final int start, final int end) {
    final Thread sender=new Thread() {
        public void run() {
            for(int i=start; i <= end; i++) {
                Message msg=new Message(null, i);
                System.out.println("[" + prot.getValue("local_addr") + "] --> sending message " + i);
                prot.down(new Event(Event.MSG,msg));
            }
        }
    };
    sender.setName("BytemanSenderThread");
    sender.start();
    try {
        sender.join(1000);
    }
    catch(InterruptedException e) {
    }
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:19,代码来源:SequencerFailoverTestHelper.java


示例11: up

import org.jgroups.Event; //导入依赖的package包/类
/**
   * An event was received from the layer below. Usually the current layer will want to examine
   * the event type and - depending on its type - perform some computation
   * (e.g. removing headers from a MSG event type, or updating the internal membership list
   * when receiving a VIEW_CHANGE event).
   * Finally the event is either a) discarded, or b) an event is sent down
   * the stack using <code>down_prot.down()</code> or c) the event (or another event) is sent up
   * the stack using <code>up_prot.up()</code>.
   */
  public Object up(Event evt) {
switch(evt.getType()) {
          case Event.MSG:
		Message message = (Message)evt.getArg();
		if ( message.isFlagSet( Message.Flag.OOB ) ) {
			return up_prot.up(evt);
		}
		else {
			PrioHeader hdr=(PrioHeader)message.getHeader(id);
			if(hdr != null) {
				log.trace("%s: adding priority message %d to UP queue", local_addr, hdr.getPriority());
				upMessageQueue.add( new PriorityMessage( evt, hdr.getPriority() ) );
				// send with hdr.prio
				return null;
			}
      			return up_prot.up(evt);
              }
          default:
      		return up_prot.up(evt);
      }
  }
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:31,代码来源:PRIO.java


示例12: testResponse

import org.jgroups.Event; //导入依赖的package包/类
@Test
public void testResponse() throws Exception {
    Address local_addr = pinger.getLocalAddress();
    PhysicalAddress physical_addr = (PhysicalAddress) pinger
            .down(new Event(Event.GET_PHYSICAL_ADDRESS, local_addr));
    PingData data = createPingData(local_addr, physical_addr);
    final PingHeader hdr = getPingHeader(data);
    Message msg = new Message(null).setFlag(Message.Flag.DONT_BUNDLE)
            .putHeader(pinger.getId(), hdr).setBuffer(streamableToBuffer(data));
    URL url = new URL("http://localhost:8888");
    HttpURLConnection conn = (HttpURLConnection) url.openConnection(Proxy.NO_PROXY);
    conn.addRequestProperty(Server.CLUSTER_NAME, TestBase.CLUSTER_NAME);
    conn.setDoOutput(true);
    conn.setRequestMethod("POST");

    DataOutputStream out = new DataOutputStream(conn.getOutputStream());
    msg.writeTo(out);
    out.flush();

    Assert.assertEquals(200, conn.getResponseCode());
}
 
开发者ID:jboss-openshift,项目名称:openshift-ping,代码行数:22,代码来源:ServerTestBase.java


示例13: up

import org.jgroups.Event; //导入依赖的package包/类
/**
 * Sends up a multiple messages in a {@link MessageBatch}. The sender of the batch is always the same, and so is the
 * destination (null == multicast messages). Messages in a batch can be OOB messages, regular messages, or mixed
 * messages, although the transport itself will create initial MessageBatches that contain only either OOB or
 * regular messages.<p/>
 * The default processing below sends messages up the stack individually, based on a matching criteria
 * (calling {@link #accept(org.jgroups.Message)}), and - if true - calls {@link #up(org.jgroups.Event)}
 * for that message and removes the message. If the batch is not empty, it is passed up, or else it is dropped.<p/>
 * Subclasses should check if there are any messages destined for them (e.g. using
 * {@link MessageBatch#getMatchingMessages(short,boolean)}), then possibly remove and process them and finally pass
 * the batch up to the next protocol. Protocols can also modify messages in place, e.g. ENCRYPT could decrypt all
 * encrypted messages in the batch, not remove them, and pass the batch up when done.
 * @param batch The message batch
 */
public void up(MessageBatch batch) {
    for(Iterator<Message> it=batch.iterator(); it.hasNext();) {
        Message msg=it.next();
        if(msg != null && accept(msg)) {
            it.remove();
            try {
                up(new Event(Event.MSG, msg));
            }
            catch(Throwable t) {
                log.error(Util.getMessage("PassUpFailure"), t);
            }
        }
    }
    if(!batch.isEmpty())
        up_prot.up(batch);
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:31,代码来源:Protocol.java


示例14: handleDownMessage

import org.jgroups.Event; //导入依赖的package包/类
protected Object handleDownMessage(final Event evt, final Message msg, Address dest, int length) {
    if(dest != null) // 2nd line of defense, not really needed
        return down_prot.down(evt);

    long block_time=max_block_times != null? getMaxBlockTime(length) : max_block_time;
    while(running) {
        boolean rc=credits.decrement(length, block_time);
        if(rc || max_block_times != null || !running)
            break;

        if(needToSendCreditRequest()) {
            List<Tuple<Address,Long>> targets=credits.getMembersWithCreditsLessThan(min_credits);
            for(Tuple<Address,Long> tuple: targets)
                sendCreditRequest(tuple.getVal1(), Math.min(max_credits, max_credits - tuple.getVal2()));
        }
    }
    
    // send message - either after regular processing, or after blocking (when enough credits are available again)
    return down_prot.down(evt);
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:21,代码来源:MFC.java


示例15: down

import org.jgroups.Event; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public Object down(Event evt) {
    switch(evt.getType()) {
        case Event.MSG:
            Message msg=(Message)evt.getArg();
            if(msg.isFlagSet(Message.Flag.NO_FC))
                break;
            int length=msg.getLength();
            if(length == 0)
                break;
            return handleDownMessage(evt, msg, length);
        case Event.CONFIG:
            handleConfigEvent((Map<String,Object>)evt.getArg()); 
            break;
        case Event.VIEW_CHANGE:
            handleViewChange(((View)evt.getArg()).getMembers());
            break;
    }
    return down_prot.down(evt); // this could potentially use the lower protocol's thread which may block
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:21,代码来源:FC.java


示例16: if

import org.jgroups.Event; //导入依赖的package包/类
/** Check if I'm in memberList, too */
/*public void start() throws Exception {
    super.start();
    IpAddress self=(IpAddress)auth.getPhysicalAddress();
    if(!isInMembersList(self))
        throw new IllegalStateException("own physical address " + self + " is not in members (" + memberList + ")");
} */

public boolean authenticate(AuthToken token, Message msg) {
    if ((token != null) && (token instanceof FixedMembershipToken) && (this.memberList != null)) {
        PhysicalAddress src = (PhysicalAddress) auth.down(new Event(Event.GET_PHYSICAL_ADDRESS, msg.getSrc()));
        if (src == null) {
            log.error("didn't find physical address for " + msg.getSrc());
            return false;
        }
        return isInMembersList((IpAddress)src);
    }

    if (log.isWarnEnabled())
        log.warn("Invalid AuthToken instance - wrong type or null");
    return false;
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:23,代码来源:FixedMembershipToken.java


示例17: up

import org.jgroups.Event; //导入依赖的package包/类
public Object up(Event evt) {
    if(!up)
        return up_prot.up(evt);
    if(evt.getType() != Event.MSG)
        return up_prot.up(evt);
    Message msg=(Message)evt.getArg();
    synchronized(up_msgs) {
        up_msgs.add(msg);
    }
    if(up_msgs.size() >= max_size) {
        shuffleAndSendMessages();
    }
    else
        startTask();
    return null;
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:17,代码来源:SHUFFLE.java


示例18: 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


示例19: up

import org.jgroups.Event; //导入依赖的package包/类
public Object up(Event evt) {
    switch(evt.getType()) {
        case Event.VIEW_CHANGE:
            handleView((View)evt.getArg());
            break;
    }
    if(num_event_handlers > 0) {
        for(EventHandler handler: event_handlers) {
            try {
                handler.up(evt);
            }
            catch(Throwable t) {
                log.error("event handler failed handling up event", t);
            }
        }
    }
    return up_prot.up(evt);
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:19,代码来源:SUPERVISOR.java


示例20: down

import org.jgroups.Event; //导入依赖的package包/类
/**
 * Fragment a packet if larger than frag_size (add a header). Otherwise just pass down. Only
 * add a header if framentation is needed !
 */
public Object down(Event evt) {
    switch(evt.getType()) {

        case Event.MSG:
            Message msg=(Message)evt.getArg();
            long size=msg.size();
            num_sent_msgs++;
            if(size > frag_size) {
                if(log.isTraceEnabled()) {
                    StringBuilder sb=new StringBuilder("message size is ");
                    sb.append(size).append(", will fragment (frag_size=").append(frag_size).append(')');
                    log.trace(sb.toString());
                }
                fragment(msg, size);  // Fragment and pass down
                return null;
            }
            break;

        case Event.VIEW_CHANGE:
            handleViewChange((View)evt.getArg());
            break;
    }

    return down_prot.down(evt);  // Pass on to the layer below us
}
 
开发者ID:zjumty,项目名称:jgroups-3.6.4-fixed,代码行数:30,代码来源:FRAG.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java GitCommand类代码示例发布时间:2022-05-22
下一篇:
Java HystrixMetricsPublisher类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap