本文整理汇总了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;未经允许,请勿转载。 |
请发表评论