本文整理了Java中org.jgroups.Message.getHeader()
方法的一些代码示例,展示了Message.getHeader()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Message.getHeader()
方法的具体详情如下:
包路径:org.jgroups.Message
类名称:Message
方法名:getHeader
[英]Returns a header for a range of IDs, or null if not found
[中]返回一系列ID的标题,如果找不到,则返回null
代码示例来源:origin: wildfly/wildfly
public Object up(Message msg) {
Header hdr=msg.getHeader(id);
if(hdr != null)
return handleMessage(msg, hdr);
return up_prot.up(msg);
}
代码示例来源:origin: wildfly/wildfly
/** Called by the sender to resend messages for which no ACK has been received yet */
protected void retransmit(Message msg) {
if(is_trace) {
UnicastHeader3 hdr=msg.getHeader(id);
long seqno=hdr != null? hdr.seqno : -1;
log.trace("%s --> XMIT(%s: #%d)", local_addr, msg.getDest(), seqno);
}
down_prot.down(msg);
num_xmits++;
}
代码示例来源:origin: wildfly/wildfly
@Override
public void deliver(Message message) {
message.setDest(localAddress);
if (log.isTraceEnabled()) {
log.trace("Deliver message %s (%s) in total order", message, message.getHeader(id));
}
up_prot.up(message);
statsCollector.incrementMessageDeliver();
}
代码示例来源:origin: wildfly/wildfly
public Object up(Message msg) {
if(msg.getDest() == null || msg.isFlagSet(Message.Flag.NO_RELIABILITY)) // only handle unicast messages
return up_prot.up(msg); // pass up
UnicastHeader3 hdr=msg.getHeader(this.id);
if(hdr == null)
return up_prot.up(msg);
Address sender=msg.getSrc();
switch(hdr.type) {
case UnicastHeader3.DATA: // received regular message
if(is_trace)
log.trace("%s <-- DATA(%s: #%d, conn_id=%d%s)", local_addr, sender, hdr.seqno, hdr.conn_id, hdr.first? ", first" : "");
if(Objects.equals(local_addr, sender))
handleDataReceivedFromSelf(sender, hdr.seqno, msg);
else
handleDataReceived(sender, hdr.seqno, hdr.conn_id, hdr.first, msg);
break; // we pass the deliverable message up in handleDataReceived()
default:
handleUpEvent(sender, msg, hdr);
break;
}
return null;
}
代码示例来源:origin: wildfly/wildfly
public Object up(Message msg) {
Frag3Header hdr=msg.getHeader(this.id);
if(hdr != null) { // needs to be defragmented
Message assembled_msg=unfragment(msg, hdr);
if(assembled_msg != null) {
assembled_msg.setSrc(msg.getSrc()); // needed ? YES, because fragments have a null src !!
up_prot.up(assembled_msg);
avg_size_up.add(assembled_msg.length());
}
return null;
}
return up_prot.up(msg);
}
代码示例来源:origin: wildfly/wildfly
/**
* Sends a message msg to the requester. We have to wrap the original message into a retransmit message, as we need
* to preserve the original message's properties, such as src, headers etc.
* @param dest
* @param msg
*/
protected void sendXmitRsp(Address dest, Message msg) {
if(msg == null)
return;
if(stats)
xmit_rsps_sent.increment();
if(msg.getSrc() == null)
msg.setSrc(local_addr);
if(use_mcast_xmit) { // we simply send the original multicast message
down_prot.down(msg);
return;
}
Message xmit_msg=msg.copy(true, true).dest(dest); // copy payload and headers
NakAckHeader2 hdr=xmit_msg.getHeader(id);
NakAckHeader2 newhdr=hdr.copy();
newhdr.type=NakAckHeader2.XMIT_RSP; // change the type in the copy from MSG --> XMIT_RSP
xmit_msg.putHeader(id, newhdr);
down_prot.down(xmit_msg);
}
代码示例来源:origin: wildfly/wildfly
public boolean handleUpMessage(Message msg) {
ChallengeResponseHeader hdr=msg.getHeader(ID);
if(hdr == null)
return true;
switch(hdr.type) {
case ChallengeResponseHeader.CHALLENGE:
long hash=hash(encrypt(hdr.payload));
Message response=new Message(msg.getSrc()).setFlag(Message.Flag.OOB)
.putHeader(ID, new ChallengeResponseHeader(hash));
log.trace("%s: received CHALLENGE from %s; sending RESPONSE (hash=%d)", auth.getAddress(), msg.src(), hash);
auth.getDownProtocol().down(response);
break;
case ChallengeResponseHeader.RESPONSE:
log.trace("%s: received RESPONSE from %s", auth.getAddress(), msg.getSrc());
Entry entry=pending_requests.get(msg.getSrc());
if(entry != null)
entry.setResponse(hdr.hash);
break;
}
return false; // don't pass up
}
代码示例来源:origin: apache/geode
pingPonger.sendPongMessage(myChannel, jgAddress, jgmsg.getSrc());
} catch (Exception e) {
logger.info("Failed sending Pong response to " + jgmsg.getSrc());
NakAckHeader2 header = (NakAckHeader2) jgmsg.getHeader(nackack2HeaderId);
if (header != null && !jgmsg.isFlagSet(Flag.OOB)) {
recordScheduledSeqno(msg.getSender(), header.getSeqno());
代码示例来源:origin: wildfly/wildfly
public Object up(Message msg) {
FdHeader hdr=msg.getHeader(this.id);
if(hdr == null) {
if(msg_counts_as_heartbeat)
updateTimestamp(msg.getSrc());
return up_prot.up(msg); // message did not originate from FD layer, just pass up
Address hb_sender=msg.getSrc();
log.trace("%s: received are-you-alive from %s, sending response", local_addr, hb_sender);
sendHeartbeatResponse(hb_sender);
break; // don't pass up !
if(hdr.mbrs == null)
return null;
log.trace("%s: received suspect message: %s", local_addr, hdr);
log.warn("%s: I was suspected by %s; ignoring the SUSPECT message and sending back a HEARTBEAT_ACK",
local_addr, msg.src());
sendHeartbeatResponse(msg.getSrc());
continue;
if(!suspects.isEmpty()) {
log.debug("%s: suspecting %s", local_addr, suspects);
up_prot.up(new Event(Event.SUSPECT, suspects));
down_prot.down(new Event(Event.SUSPECT, suspects));
代码示例来源:origin: wildfly/wildfly
public Object up(Message msg) {
FragHeader hdr=msg.getHeader(this.id);
if(hdr != null) { // needs to be defragmented
Message assembled_msg=unfragment(msg, hdr);
if(assembled_msg != null) {
assembled_msg.setSrc(msg.getSrc()); // needed ? YES, because fragments have a null src !!
up_prot.up(assembled_msg);
avg_size_up.add(assembled_msg.length());
}
return null;
}
return up_prot.up(msg);
}
代码示例来源:origin: wildfly/wildfly
protected void deliverBatch(MessageBatch batch) {
try {
if(batch.isEmpty())
return;
if(is_trace) {
Message first=batch.first(), last=batch.last();
StringBuilder sb=new StringBuilder(local_addr + ": delivering");
if(first != null && last != null) {
UnicastHeader3 hdr1=first.getHeader(id), hdr2=last.getHeader(id);
sb.append(" #").append(hdr1.seqno).append(" - #").append(hdr2.seqno);
}
sb.append(" (" + batch.size()).append(" messages)");
log.trace(sb);
}
up_prot.up(batch);
}
catch(Throwable t) {
log.warn(Util.getMessage("FailedToDeliverMsg"), local_addr, "batch", batch, t);
}
}
代码示例来源:origin: wildfly/wildfly
protected void handleCacheResponse(Message msg) {
Header hdr=msg.getHeader(id);
if(hdr != null && hdr.addr != null && hdr.name != null) {
if(log.isTraceEnabled())
log.trace("%s: received %s from %s", local_addr, hdr, msg.src());
NameCache.add(hdr.addr, hdr.name);
}
}
代码示例来源:origin: wildfly/wildfly
public void receive(Message msg) {
MPerfHeader hdr=msg.getHeader(ID);
switch(hdr.type) {
case MPerfHeader.DATA:
handleData(msg.getSrc(), hdr.seqno, num_threads == 1 && !oob);
break;
result_collector=msg.getSrc();
sendMessages();
break;
Address sender=msg.getSrc();
Stats tmp=received_msgs.get(sender);
if(tmp != null)
代码示例来源:origin: wildfly/wildfly
public Object up(Message msg) {
FragHeader hdr=msg.getHeader(this.id);
if(hdr != null) { // needs to be defragmented
Message assembled_msg=unfragment(msg, hdr);
if(assembled_msg != null)
up_prot.up(assembled_msg);
return null;
}
else {
num_received_msgs++;
}
return up_prot.up(msg);
}
代码示例来源:origin: org.jboss.eap/wildfly-client-all
public boolean handleUpMessage(Message msg) {
ChallengeResponseHeader hdr=msg.getHeader(ID);
if(hdr == null)
return true;
switch(hdr.type) {
case ChallengeResponseHeader.CHALLENGE:
long hash=hash(encrypt(hdr.payload));
Message response=new Message(msg.getSrc()).setFlag(Message.Flag.OOB)
.putHeader(ID, new ChallengeResponseHeader(hash));
log.trace("%s: received CHALLENGE from %s; sending RESPONSE (hash=%d)", auth.getAddress(), msg.src(), hash);
auth.getDownProtocol().down(response);
break;
case ChallengeResponseHeader.RESPONSE:
log.trace("%s: received RESPONSE from %s", auth.getAddress(), msg.getSrc());
Entry entry=pending_requests.get(msg.getSrc());
if(entry != null)
entry.setResponse(hdr.hash);
break;
}
return false; // don't pass up
}
代码示例来源:origin: wildfly/wildfly
public Object up(Message message) {
ToaHeader header=message.getHeader(this.id);
if (header == null)
return up_prot.up(message);
switch (header.getType()) {
case ToaHeader.DATA_MESSAGE:
handleDataMessage(message, header);
break;
case ToaHeader.PROPOSE_MESSAGE:
handleSequenceNumberPropose(message.getSrc(), header);
break;
case ToaHeader.FINAL_MESSAGE:
handleFinalSequenceNumber(header);
break;
case ToaHeader.SINGLE_DESTINATION_MESSAGE:
if (log.isTraceEnabled()) {
log.trace("Received message %s with SINGLE_DESTINATION header. delivering...", message);
}
deliverManager.deliverSingleDestinationMessage(message, header.getMessageID());
break;
default:
throw new IllegalStateException("Unknown header type received " + header);
}
return null;
}
代码示例来源:origin: wildfly/wildfly
public Object up(Message msg) {
Address sender=msg.getSrc();
Header hdr=msg.getHeader(this.id);
if(hdr != null) {
update(sender); // updates the heartbeat entry for 'sender'
num_heartbeats_received++;
unsuspect(sender);
return null; // consume heartbeat message, do not pass to the layer above
}
else if(msg_counts_as_heartbeat) {
// message did not originate from FD_ALL layer, but still count as heartbeat
update(sender); // update when data is received too ? maybe a bit costly
if(has_suspected_mbrs)
unsuspect(sender);
}
return up_prot.up(msg); // pass up to the layer above us
}
代码示例来源:origin: wildfly/wildfly
protected void deliverBatch(MessageBatch batch) {
try {
if(batch == null || batch.isEmpty())
return;
if(is_trace) {
Message first=batch.first(), last=batch.last();
StringBuilder sb=new StringBuilder(local_addr + ": delivering " + batch.sender());
if(first != null && last != null) {
NakAckHeader2 hdr1=first.getHeader(id), hdr2=last.getHeader(id);
sb.append("#").append(hdr1.seqno).append("-").append(hdr2.seqno);
}
sb.append(" (" + batch.size()).append(" messages)");
log.trace(sb);
}
up_prot.up(batch);
}
catch(Throwable t) {
log.error(Util.getMessage("FailedToDeliverMsg"), local_addr, "batch", batch, t);
}
}
代码示例来源:origin: wildfly/wildfly
/**
* Handles a message coming from a layer below
* @return true if the message was consumed, don't pass it further up, else false
*/
public boolean receiveMessage(Message msg) {
Header hdr=msg.getHeader(this.corr_id);
// Check if the message was sent by a request correlator with the same name;
// there may be multiple request correlators in the same protocol stack
if(hdr == null || hdr.corrId != this.corr_id) {
log.trace("ID of request correlator header (%s) is different from ours (%d). Msg not accepted, passed up",
hdr != null? String.valueOf(hdr.corrId) : "null", this.corr_id);
return false;
}
if(hdr instanceof MultiDestinationHeader) {
// if we are part of the exclusion list, then we discard the request (addressed to different members)
Address[] exclusion_list=((MultiDestinationHeader)hdr).exclusion_list;
if(exclusion_list != null && local_addr != null && Util.contains(local_addr, exclusion_list)) {
log.trace("%s: dropped req from %s as we are in the exclusion list, hdr=%s", local_addr, msg.src(), hdr);
return true; // don't pass this message further up
}
}
dispatch(msg, hdr);
return true; // message was consumed
}
代码示例来源:origin: wildfly/wildfly
public void receive(Message msg) {
Address sender=msg.getSrc();
if(bridge.getAddress().equals(sender)) // discard my own messages
return;
RelayHeader hdr=msg.getHeader(id);
switch(hdr.type) {
case DISSEMINATE: // should not occur here, but we'll ignore it anyway
内容来源于网络,如有侵权,请联系作者删除!