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

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

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

Message.setTransientFlag介绍

[英]Same as #setFlag(Flag...) except that transient flags are not marshalled
[中]与#setFlag(Flag…)相同只是暂时性的标志没有被编组

代码示例

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

  1. /**
  2. * Atomically checks if a given flag is set and - if not - sets it. When multiple threads
  3. * concurrently call this method with the same flag, only one of them will be able to set the
  4. * flag
  5. *
  6. * @param flag
  7. * @return True if the flag could be set, false if not (was already set)
  8. */
  9. public synchronized boolean setTransientFlagIfAbsent(TransientFlag flag) {
  10. if(isTransientFlagSet(flag))
  11. return false;
  12. setTransientFlag(flag);
  13. return true;
  14. }

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

  1. public void send(org.jgroups.Message msg) throws Exception {
  2. if (logger.isTraceEnabled())
  3. logger.trace(this + "::Sending JGroups Message: Open=" + channel.isOpen() + " on channel " + channelName + " msg=" + msg);
  4. if (!manager.isLoopbackMessages()) {
  5. msg.setTransientFlag(Message.TransientFlag.DONT_LOOPBACK);
  6. }
  7. channel.send(msg);
  8. }

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

  1. protected void execute(long seqno) {
  2. if(seqno == 0 || skip_next_resend.compareAndSet(true,false))
  3. return;
  4. if(seqno == last_seqno_resent && num_resends >= resend_last_seqno_max_times)
  5. return;
  6. if(seqno > last_seqno_resent) {
  7. last_seqno_resent=seqno;
  8. num_resends=1;
  9. }
  10. else
  11. num_resends++;
  12. Message msg=new Message(null).putHeader(id, NakAckHeader2.createHighestSeqnoHeader(seqno))
  13. .setFlag(Message.Flag.OOB, Message.Flag.INTERNAL)
  14. .setTransientFlag(Message.TransientFlag.DONT_LOOPBACK); // we don't need to receive our own broadcast
  15. down_prot.down(msg);
  16. }
  17. }

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

  1. /**
  2. Sends or broadcasts a I_HAVE_SOCK response. If 'dst' is null, the reponse will be broadcast, otherwise
  3. it will be unicast back to the requester
  4. */
  5. protected void sendIHaveSockMessage(Address dst, Address mbr, IpAddress addr) {
  6. Message msg=new Message(dst).setFlag(Message.Flag.INTERNAL).setTransientFlag(Message.TransientFlag.DONT_LOOPBACK);
  7. FdHeader hdr=new FdHeader(FdHeader.I_HAVE_SOCK, mbr);
  8. hdr.sock_addr=addr;
  9. msg.putHeader(this.id, hdr);
  10. down_prot.down(msg);
  11. }

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

  1. protected void multicastOwnMapping() {
  2. String logical_name=NameCache.get(local_addr);
  3. if(logical_name != null) {
  4. Message msg=new Message(null).setFlag(Message.Flag.OOB).setTransientFlag(Message.TransientFlag.DONT_LOOPBACK)
  5. .putHeader(id, new Header(Type.CACHE_RSP, local_addr, logical_name));
  6. down_prot.down(msg);
  7. }
  8. }

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

  1. void setMessageFlags(DistributionMessage gfmsg, Message msg) {
  2. // Bundling is mostly only useful if we're doing no-ack work,
  3. // which is fairly rare
  4. msg.setFlag(Flag.DONT_BUNDLE);
  5. if (gfmsg.getProcessorType() == ClusterDistributionManager.HIGH_PRIORITY_EXECUTOR
  6. || gfmsg instanceof HighPriorityDistributionMessage || AlertingAction.isThreadAlerting()) {
  7. msg.setFlag(Flag.OOB);
  8. msg.setFlag(Flag.NO_FC);
  9. msg.setFlag(Flag.SKIP_BARRIER);
  10. }
  11. if (gfmsg instanceof DistributedCacheOperation.CacheOperationMessage) {
  12. // we don't want to see our own cache operation messages
  13. msg.setTransientFlag(Message.TransientFlag.DONT_LOOPBACK);
  14. }
  15. }

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

  1. public void run() {
  2. if(view == null) {
  3. log.warn("%s: view is null, cannot send INFO message", local_addr);
  4. return;
  5. }
  6. MergeHeader hdr=createInfo();
  7. if(transport_supports_multicasting) { // mcast the discovery request to all but self
  8. Message msg=new Message().setFlag(Message.Flag.INTERNAL).putHeader(getId(), hdr)
  9. .setTransientFlag(Message.TransientFlag.DONT_LOOPBACK);
  10. down_prot.down(msg);
  11. return;
  12. }
  13. down_prot.down(ASYNC_DISCOVERY_EVENT);
  14. }

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

  1. key_requesters=new ResponseCollectorTask<Boolean>(targets)
  2. .setPeriodicTask(c -> {
  3. Message msg=new Message(null).setTransientFlag(Message.TransientFlag.DONT_LOOPBACK)
  4. .putHeader(id, new EncryptHeader(EncryptHeader.NEW_KEYSERVER, sym_version));
  5. down_prot.down(msg);

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

  1. /** Sends a request to a single destination */
  2. public void sendUnicastRequest(Address dest, Buffer data, Request req, RequestOptions opts) throws Exception {
  3. if(transport == null) {
  4. if(log.isWarnEnabled()) log.warn("transport is not available !");
  5. return;
  6. }
  7. Header hdr=new Header(Header.REQ, 0, this.corr_id);
  8. Message msg=new Message(dest, data).putHeader(this.corr_id, hdr)
  9. .setFlag(opts.flags()).setTransientFlag(opts.transientFlags());
  10. if(req != null) { // sync RPC
  11. long req_id=REQUEST_ID.getAndIncrement();
  12. req.requestId(req_id);
  13. hdr.requestId(req_id); // set the request-id only for *synchronous RPCs*
  14. if(log.isTraceEnabled())
  15. log.trace("%s: invoking unicast RPC [req-id=%d] on %s", local_addr, req_id, msg.dest());
  16. requests.putIfAbsent(req_id, req);
  17. // make sure no view is received before we add ourself as a view handler (https://issues.jboss.org/browse/JGRP-1428)
  18. req.viewChange(view);
  19. if(rpc_stats.extendedStats())
  20. req.start_time=System.nanoTime();
  21. }
  22. else // async RPC
  23. rpc_stats.add(RpcStats.Type.UNICAST, dest, false, 0);
  24. transport.down(msg);
  25. }

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

  1. protected void sendDiscoveryRequest(String cluster_name, List<Address> members_to_find, boolean initial_discovery) throws Exception {
  2. PingData data=null;
  3. if(!use_ip_addrs || !initial_discovery) {
  4. PhysicalAddress physical_addr=(PhysicalAddress)down(new Event(Event.GET_PHYSICAL_ADDRESS, local_addr));
  5. // https://issues.jboss.org/browse/JGRP-1670
  6. data=new PingData(local_addr, false, NameCache.get(local_addr), physical_addr);
  7. if(members_to_find != null && members_to_find.size() <= max_members_in_discovery_request)
  8. data.mbrs(members_to_find);
  9. }
  10. // message needs to have DONT_BUNDLE flag: if A sends message M to B, and we need to fetch B's physical
  11. // address, then the bundler thread blocks until the discovery request has returned. However, we cannot send
  12. // the discovery *request* until the bundler thread has returned from sending M
  13. PingHeader hdr=new PingHeader(PingHeader.GET_MBRS_REQ).clusterName(cluster_name).initialDiscovery(initial_discovery);
  14. Message msg=new Message(null).putHeader(getId(),hdr)
  15. .setFlag(Message.Flag.INTERNAL,Message.Flag.DONT_BUNDLE,Message.Flag.OOB)
  16. .setTransientFlag(Message.TransientFlag.DONT_LOOPBACK);
  17. if(data != null)
  18. msg.setBuffer(marshal(data));
  19. sendMcastDiscoveryRequest(msg);
  20. }

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

  1. jmsg.setTransientFlag(TransientFlag.DONT_LOOPBACK);
  2. if (!reliably) {
  3. jmsg.setFlag(Message.Flag.NO_RELIABILITY);

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

  1. .setFlag(opts.flags()).setTransientFlag(opts.transientFlags());

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

  1. .setBuffer(marshal(new_view, digest)).setTransientFlag(Message.TransientFlag.DONT_LOOPBACK);
  2. if(new_view instanceof MergeView) // https://issues.jboss.org/browse/JGRP-1484
  3. view_change_msg.setFlag(Message.Flag.NO_TOTAL_ORDER);

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

  1. /**
  2. * Atomically checks if a given flag is set and - if not - sets it. When multiple threads
  3. * concurrently call this method with the same flag, only one of them will be able to set the
  4. * flag
  5. *
  6. * @param flag
  7. * @return True if the flag could be set, false if not (was already set)
  8. */
  9. public synchronized boolean setTransientFlagIfAbsent(TransientFlag flag) {
  10. if(isTransientFlagSet(flag))
  11. return false;
  12. setTransientFlag(flag);
  13. return true;
  14. }

代码示例来源:origin: apache/activemq-artemis

  1. public void send(org.jgroups.Message msg) throws Exception {
  2. if (logger.isTraceEnabled())
  3. logger.trace(this + "::Sending JGroups Message: Open=" + channel.isOpen() + " on channel " + channelName + " msg=" + msg);
  4. if (!manager.isLoopbackMessages()) {
  5. msg.setTransientFlag(Message.TransientFlag.DONT_LOOPBACK);
  6. }
  7. channel.send(msg);
  8. }

代码示例来源:origin: org.apache.activemq/artemis-core-client

  1. public void send(org.jgroups.Message msg) throws Exception {
  2. if (logger.isTraceEnabled())
  3. logger.trace(this + "::Sending JGroups Message: Open=" + channel.isOpen() + " on channel " + channelName + " msg=" + msg);
  4. if (!manager.isLoopbackMessages()) {
  5. msg.setTransientFlag(Message.TransientFlag.DONT_LOOPBACK);
  6. }
  7. channel.send(msg);
  8. }

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

  1. public void send(org.jgroups.Message msg) throws Exception {
  2. if (logger.isTraceEnabled())
  3. logger.trace(this + "::Sending JGroups Message: Open=" + channel.isOpen() + " on channel " + channelName + " msg=" + msg);
  4. if (!manager.isLoopbackMessages()) {
  5. msg.setTransientFlag(Message.TransientFlag.DONT_LOOPBACK);
  6. }
  7. channel.send(msg);
  8. }

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

  1. /**
  2. Sends or broadcasts a I_HAVE_SOCK response. If 'dst' is null, the reponse will be broadcast, otherwise
  3. it will be unicast back to the requester
  4. */
  5. protected void sendIHaveSockMessage(Address dst, Address mbr, IpAddress addr) {
  6. Message msg=new Message(dst).setFlag(Message.Flag.INTERNAL).setTransientFlag(Message.TransientFlag.DONT_LOOPBACK);
  7. FdHeader hdr=new FdHeader(FdHeader.I_HAVE_SOCK, mbr);
  8. hdr.sock_addr=addr;
  9. msg.putHeader(this.id, hdr);
  10. down_prot.down(msg);
  11. }

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

  1. protected void multicastOwnMapping() {
  2. String logical_name=NameCache.get(local_addr);
  3. if(logical_name != null) {
  4. Message msg=new Message(null).setFlag(Message.Flag.OOB).setTransientFlag(Message.TransientFlag.DONT_LOOPBACK)
  5. .putHeader(id, new Header(Type.CACHE_RSP, local_addr, logical_name));
  6. down_prot.down(msg);
  7. }
  8. }

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

  1. public void run() {
  2. if(view == null) {
  3. log.warn("%s: view is null, cannot send INFO message", local_addr);
  4. return;
  5. }
  6. MergeHeader hdr=createInfo();
  7. if(transport_supports_multicasting) { // mcast the discovery request to all but self
  8. Message msg=new Message().setFlag(Message.Flag.INTERNAL).putHeader(getId(), hdr)
  9. .setTransientFlag(Message.TransientFlag.DONT_LOOPBACK);
  10. down_prot.down(msg);
  11. return;
  12. }
  13. down_prot.down(ASYNC_DISCOVERY_EVENT);
  14. }

相关文章