org.jgroups.Message.getHeader()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(10.8k)|赞(0)|评价(0)|浏览(241)

本文整理了Java中org.jgroups.Message.getHeader()方法的一些代码示例,展示了Message.getHeader()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.getHeader()方法的具体详情如下:
包路径:org.jgroups.Message
类名称:Message
方法名:getHeader

Message.getHeader介绍

[英]Returns a header for a range of IDs, or null if not found
[中]返回一系列ID的标题,如果找不到,则返回null

代码示例

代码示例来源:origin: wildfly/wildfly

  1. public Object up(Message msg) {
  2. Header hdr=msg.getHeader(id);
  3. if(hdr != null)
  4. return handleMessage(msg, hdr);
  5. return up_prot.up(msg);
  6. }

代码示例来源:origin: wildfly/wildfly

  1. /** Called by the sender to resend messages for which no ACK has been received yet */
  2. protected void retransmit(Message msg) {
  3. if(is_trace) {
  4. UnicastHeader3 hdr=msg.getHeader(id);
  5. long seqno=hdr != null? hdr.seqno : -1;
  6. log.trace("%s --> XMIT(%s: #%d)", local_addr, msg.getDest(), seqno);
  7. }
  8. down_prot.down(msg);
  9. num_xmits++;
  10. }

代码示例来源:origin: wildfly/wildfly

  1. @Override
  2. public void deliver(Message message) {
  3. message.setDest(localAddress);
  4. if (log.isTraceEnabled()) {
  5. log.trace("Deliver message %s (%s) in total order", message, message.getHeader(id));
  6. }
  7. up_prot.up(message);
  8. statsCollector.incrementMessageDeliver();
  9. }

代码示例来源:origin: wildfly/wildfly

  1. public Object up(Message msg) {
  2. if(msg.getDest() == null || msg.isFlagSet(Message.Flag.NO_RELIABILITY)) // only handle unicast messages
  3. return up_prot.up(msg); // pass up
  4. UnicastHeader3 hdr=msg.getHeader(this.id);
  5. if(hdr == null)
  6. return up_prot.up(msg);
  7. Address sender=msg.getSrc();
  8. switch(hdr.type) {
  9. case UnicastHeader3.DATA: // received regular message
  10. if(is_trace)
  11. log.trace("%s <-- DATA(%s: #%d, conn_id=%d%s)", local_addr, sender, hdr.seqno, hdr.conn_id, hdr.first? ", first" : "");
  12. if(Objects.equals(local_addr, sender))
  13. handleDataReceivedFromSelf(sender, hdr.seqno, msg);
  14. else
  15. handleDataReceived(sender, hdr.seqno, hdr.conn_id, hdr.first, msg);
  16. break; // we pass the deliverable message up in handleDataReceived()
  17. default:
  18. handleUpEvent(sender, msg, hdr);
  19. break;
  20. }
  21. return null;
  22. }

代码示例来源:origin: wildfly/wildfly

  1. public Object up(Message msg) {
  2. Frag3Header hdr=msg.getHeader(this.id);
  3. if(hdr != null) { // needs to be defragmented
  4. Message assembled_msg=unfragment(msg, hdr);
  5. if(assembled_msg != null) {
  6. assembled_msg.setSrc(msg.getSrc()); // needed ? YES, because fragments have a null src !!
  7. up_prot.up(assembled_msg);
  8. avg_size_up.add(assembled_msg.length());
  9. }
  10. return null;
  11. }
  12. return up_prot.up(msg);
  13. }

代码示例来源:origin: wildfly/wildfly

  1. /**
  2. * Sends a message msg to the requester. We have to wrap the original message into a retransmit message, as we need
  3. * to preserve the original message's properties, such as src, headers etc.
  4. * @param dest
  5. * @param msg
  6. */
  7. protected void sendXmitRsp(Address dest, Message msg) {
  8. if(msg == null)
  9. return;
  10. if(stats)
  11. xmit_rsps_sent.increment();
  12. if(msg.getSrc() == null)
  13. msg.setSrc(local_addr);
  14. if(use_mcast_xmit) { // we simply send the original multicast message
  15. down_prot.down(msg);
  16. return;
  17. }
  18. Message xmit_msg=msg.copy(true, true).dest(dest); // copy payload and headers
  19. NakAckHeader2 hdr=xmit_msg.getHeader(id);
  20. NakAckHeader2 newhdr=hdr.copy();
  21. newhdr.type=NakAckHeader2.XMIT_RSP; // change the type in the copy from MSG --> XMIT_RSP
  22. xmit_msg.putHeader(id, newhdr);
  23. down_prot.down(xmit_msg);
  24. }

代码示例来源:origin: wildfly/wildfly

  1. public boolean handleUpMessage(Message msg) {
  2. ChallengeResponseHeader hdr=msg.getHeader(ID);
  3. if(hdr == null)
  4. return true;
  5. switch(hdr.type) {
  6. case ChallengeResponseHeader.CHALLENGE:
  7. long hash=hash(encrypt(hdr.payload));
  8. Message response=new Message(msg.getSrc()).setFlag(Message.Flag.OOB)
  9. .putHeader(ID, new ChallengeResponseHeader(hash));
  10. log.trace("%s: received CHALLENGE from %s; sending RESPONSE (hash=%d)", auth.getAddress(), msg.src(), hash);
  11. auth.getDownProtocol().down(response);
  12. break;
  13. case ChallengeResponseHeader.RESPONSE:
  14. log.trace("%s: received RESPONSE from %s", auth.getAddress(), msg.getSrc());
  15. Entry entry=pending_requests.get(msg.getSrc());
  16. if(entry != null)
  17. entry.setResponse(hdr.hash);
  18. break;
  19. }
  20. return false; // don't pass up
  21. }

代码示例来源:origin: apache/geode

  1. pingPonger.sendPongMessage(myChannel, jgAddress, jgmsg.getSrc());
  2. } catch (Exception e) {
  3. logger.info("Failed sending Pong response to " + jgmsg.getSrc());
  4. NakAckHeader2 header = (NakAckHeader2) jgmsg.getHeader(nackack2HeaderId);
  5. if (header != null && !jgmsg.isFlagSet(Flag.OOB)) {
  6. recordScheduledSeqno(msg.getSender(), header.getSeqno());

代码示例来源:origin: wildfly/wildfly

  1. public Object up(Message msg) {
  2. FdHeader hdr=msg.getHeader(this.id);
  3. if(hdr == null) {
  4. if(msg_counts_as_heartbeat)
  5. updateTimestamp(msg.getSrc());
  6. return up_prot.up(msg); // message did not originate from FD layer, just pass up
  7. Address hb_sender=msg.getSrc();
  8. log.trace("%s: received are-you-alive from %s, sending response", local_addr, hb_sender);
  9. sendHeartbeatResponse(hb_sender);
  10. break; // don't pass up !
  11. if(hdr.mbrs == null)
  12. return null;
  13. log.trace("%s: received suspect message: %s", local_addr, hdr);
  14. log.warn("%s: I was suspected by %s; ignoring the SUSPECT message and sending back a HEARTBEAT_ACK",
  15. local_addr, msg.src());
  16. sendHeartbeatResponse(msg.getSrc());
  17. continue;
  18. if(!suspects.isEmpty()) {
  19. log.debug("%s: suspecting %s", local_addr, suspects);
  20. up_prot.up(new Event(Event.SUSPECT, suspects));
  21. down_prot.down(new Event(Event.SUSPECT, suspects));

代码示例来源:origin: wildfly/wildfly

  1. public Object up(Message msg) {
  2. FragHeader hdr=msg.getHeader(this.id);
  3. if(hdr != null) { // needs to be defragmented
  4. Message assembled_msg=unfragment(msg, hdr);
  5. if(assembled_msg != null) {
  6. assembled_msg.setSrc(msg.getSrc()); // needed ? YES, because fragments have a null src !!
  7. up_prot.up(assembled_msg);
  8. avg_size_up.add(assembled_msg.length());
  9. }
  10. return null;
  11. }
  12. return up_prot.up(msg);
  13. }

代码示例来源:origin: wildfly/wildfly

  1. protected void deliverBatch(MessageBatch batch) {
  2. try {
  3. if(batch.isEmpty())
  4. return;
  5. if(is_trace) {
  6. Message first=batch.first(), last=batch.last();
  7. StringBuilder sb=new StringBuilder(local_addr + ": delivering");
  8. if(first != null && last != null) {
  9. UnicastHeader3 hdr1=first.getHeader(id), hdr2=last.getHeader(id);
  10. sb.append(" #").append(hdr1.seqno).append(" - #").append(hdr2.seqno);
  11. }
  12. sb.append(" (" + batch.size()).append(" messages)");
  13. log.trace(sb);
  14. }
  15. up_prot.up(batch);
  16. }
  17. catch(Throwable t) {
  18. log.warn(Util.getMessage("FailedToDeliverMsg"), local_addr, "batch", batch, t);
  19. }
  20. }

代码示例来源:origin: wildfly/wildfly

  1. protected void handleCacheResponse(Message msg) {
  2. Header hdr=msg.getHeader(id);
  3. if(hdr != null && hdr.addr != null && hdr.name != null) {
  4. if(log.isTraceEnabled())
  5. log.trace("%s: received %s from %s", local_addr, hdr, msg.src());
  6. NameCache.add(hdr.addr, hdr.name);
  7. }
  8. }

代码示例来源:origin: wildfly/wildfly

  1. public void receive(Message msg) {
  2. MPerfHeader hdr=msg.getHeader(ID);
  3. switch(hdr.type) {
  4. case MPerfHeader.DATA:
  5. handleData(msg.getSrc(), hdr.seqno, num_threads == 1 && !oob);
  6. break;
  7. result_collector=msg.getSrc();
  8. sendMessages();
  9. break;
  10. Address sender=msg.getSrc();
  11. Stats tmp=received_msgs.get(sender);
  12. if(tmp != null)

代码示例来源:origin: wildfly/wildfly

  1. public Object up(Message msg) {
  2. FragHeader hdr=msg.getHeader(this.id);
  3. if(hdr != null) { // needs to be defragmented
  4. Message assembled_msg=unfragment(msg, hdr);
  5. if(assembled_msg != null)
  6. up_prot.up(assembled_msg);
  7. return null;
  8. }
  9. else {
  10. num_received_msgs++;
  11. }
  12. return up_prot.up(msg);
  13. }

代码示例来源:origin: org.jboss.eap/wildfly-client-all

  1. public boolean handleUpMessage(Message msg) {
  2. ChallengeResponseHeader hdr=msg.getHeader(ID);
  3. if(hdr == null)
  4. return true;
  5. switch(hdr.type) {
  6. case ChallengeResponseHeader.CHALLENGE:
  7. long hash=hash(encrypt(hdr.payload));
  8. Message response=new Message(msg.getSrc()).setFlag(Message.Flag.OOB)
  9. .putHeader(ID, new ChallengeResponseHeader(hash));
  10. log.trace("%s: received CHALLENGE from %s; sending RESPONSE (hash=%d)", auth.getAddress(), msg.src(), hash);
  11. auth.getDownProtocol().down(response);
  12. break;
  13. case ChallengeResponseHeader.RESPONSE:
  14. log.trace("%s: received RESPONSE from %s", auth.getAddress(), msg.getSrc());
  15. Entry entry=pending_requests.get(msg.getSrc());
  16. if(entry != null)
  17. entry.setResponse(hdr.hash);
  18. break;
  19. }
  20. return false; // don't pass up
  21. }

代码示例来源:origin: wildfly/wildfly

  1. public Object up(Message message) {
  2. ToaHeader header=message.getHeader(this.id);
  3. if (header == null)
  4. return up_prot.up(message);
  5. switch (header.getType()) {
  6. case ToaHeader.DATA_MESSAGE:
  7. handleDataMessage(message, header);
  8. break;
  9. case ToaHeader.PROPOSE_MESSAGE:
  10. handleSequenceNumberPropose(message.getSrc(), header);
  11. break;
  12. case ToaHeader.FINAL_MESSAGE:
  13. handleFinalSequenceNumber(header);
  14. break;
  15. case ToaHeader.SINGLE_DESTINATION_MESSAGE:
  16. if (log.isTraceEnabled()) {
  17. log.trace("Received message %s with SINGLE_DESTINATION header. delivering...", message);
  18. }
  19. deliverManager.deliverSingleDestinationMessage(message, header.getMessageID());
  20. break;
  21. default:
  22. throw new IllegalStateException("Unknown header type received " + header);
  23. }
  24. return null;
  25. }

代码示例来源:origin: wildfly/wildfly

  1. public Object up(Message msg) {
  2. Address sender=msg.getSrc();
  3. Header hdr=msg.getHeader(this.id);
  4. if(hdr != null) {
  5. update(sender); // updates the heartbeat entry for 'sender'
  6. num_heartbeats_received++;
  7. unsuspect(sender);
  8. return null; // consume heartbeat message, do not pass to the layer above
  9. }
  10. else if(msg_counts_as_heartbeat) {
  11. // message did not originate from FD_ALL layer, but still count as heartbeat
  12. update(sender); // update when data is received too ? maybe a bit costly
  13. if(has_suspected_mbrs)
  14. unsuspect(sender);
  15. }
  16. return up_prot.up(msg); // pass up to the layer above us
  17. }

代码示例来源:origin: wildfly/wildfly

  1. protected void deliverBatch(MessageBatch batch) {
  2. try {
  3. if(batch == null || batch.isEmpty())
  4. return;
  5. if(is_trace) {
  6. Message first=batch.first(), last=batch.last();
  7. StringBuilder sb=new StringBuilder(local_addr + ": delivering " + batch.sender());
  8. if(first != null && last != null) {
  9. NakAckHeader2 hdr1=first.getHeader(id), hdr2=last.getHeader(id);
  10. sb.append("#").append(hdr1.seqno).append("-").append(hdr2.seqno);
  11. }
  12. sb.append(" (" + batch.size()).append(" messages)");
  13. log.trace(sb);
  14. }
  15. up_prot.up(batch);
  16. }
  17. catch(Throwable t) {
  18. log.error(Util.getMessage("FailedToDeliverMsg"), local_addr, "batch", batch, t);
  19. }
  20. }

代码示例来源:origin: wildfly/wildfly

  1. /**
  2. * Handles a message coming from a layer below
  3. * @return true if the message was consumed, don't pass it further up, else false
  4. */
  5. public boolean receiveMessage(Message msg) {
  6. Header hdr=msg.getHeader(this.corr_id);
  7. // Check if the message was sent by a request correlator with the same name;
  8. // there may be multiple request correlators in the same protocol stack
  9. if(hdr == null || hdr.corrId != this.corr_id) {
  10. log.trace("ID of request correlator header (%s) is different from ours (%d). Msg not accepted, passed up",
  11. hdr != null? String.valueOf(hdr.corrId) : "null", this.corr_id);
  12. return false;
  13. }
  14. if(hdr instanceof MultiDestinationHeader) {
  15. // if we are part of the exclusion list, then we discard the request (addressed to different members)
  16. Address[] exclusion_list=((MultiDestinationHeader)hdr).exclusion_list;
  17. if(exclusion_list != null && local_addr != null && Util.contains(local_addr, exclusion_list)) {
  18. log.trace("%s: dropped req from %s as we are in the exclusion list, hdr=%s", local_addr, msg.src(), hdr);
  19. return true; // don't pass this message further up
  20. }
  21. }
  22. dispatch(msg, hdr);
  23. return true; // message was consumed
  24. }

代码示例来源:origin: wildfly/wildfly

  1. public void receive(Message msg) {
  2. Address sender=msg.getSrc();
  3. if(bridge.getAddress().equals(sender)) // discard my own messages
  4. return;
  5. RelayHeader hdr=msg.getHeader(id);
  6. switch(hdr.type) {
  7. case DISSEMINATE: // should not occur here, but we'll ignore it anyway

相关文章