endpointapitest.java
来自「JXTA™ is a set of open, generalize」· Java 代码 · 共 548 行 · 第 1/2 页
JAVA
548 行
fail("Could not add listener"); } // AsyncTest EndpointAddress localAddr = new EndpointAddress("jxta", pg.getPeerID().getUniqueValue().toString(), "EndpointApiTest", "0"); Messenger m = endp.getMessengerImmediate(localAddr, null); if (m == null) { fail("could not get tcp messenger to local peer...tcp is on ?"); } m.sendMessage(new Message(), null, null, this); int n = 0; while ((m.getState() & Messenger.RESOLVED) == 0) { try { Thread.sleep(100); } catch (InterruptedException ie) {} if (n++ > 10) { break; } } while ((m.getState() & Messenger.RESOLVED) == 0) { fail("could not resolve immediate messenger to local peer"); } if (!waitForMessageSent()) { if (!waitForMessage()) { try { m.sendMessageB(new Message(), null, null); } catch (IOException ioe) { fail("messenger resolved automatically, but cannot send messages. sendMessage Listener was NOT invoked."); } if (!waitForMessage()) { fail( "messenger resolved automatically, but messages get lost after that. sendMessage Listener was NOT invoked."); } fail("messenger resolved automatically, but initial message was lost. sendMessage Listener was NOT invoked."); } fail("Message was sent but senMessageListener was NOT invoked."); } if (!waitForMessage()) { try { m.sendMessageB(new Message(), null, null); } catch (IOException ioe) { fail("messenger resolved automatically, but cannot send messages. sendMassage Listener was invoked."); } if (!waitForMessage()) { fail("messenger resolved automatically, but messages get lost after that. sendMassage Listener was invoked."); } fail("messenger resolved automatically, but initial message was lost. sendMassage Listener was invoked."); } } public void testCantGetRawMessenger() { try { Thread.sleep(5000); } catch (Exception e) {} EndpointService endp = endp = pg.getEndpointService(); EndpointAddress badAddr = new EndpointAddress("tcp://1.1.1.1:1/EndpointApiTest/0"); Messenger m = endp.getMessengerImmediate(badAddr, null); if (m == null) { fail("could not get tcp messenger to local peer...tcp is on ?"); } try { m.sendMessageB(new Message(), null, null); } catch (IOException ioe) { fail("Cannot send messages to unresolved messenger"); } // Leak test for (int i = 0; i < 1000000; i++) { m = endp.getMessengerImmediate(badAddr, null); } m = null; // Bottleneck test for (int i = 0; i < 1000000; i++) { EndpointAddress changingSvc = new EndpointAddress("tcp://1.1.1.1:1/EndpointApiTest/" + i); m = endp.getMessengerImmediate(changingSvc, null); } m = null; } public void testCantGetRouterMessenger() { try { Thread.sleep(5000); } catch (Exception e) {} EndpointService endp = endp = pg.getEndpointService(); EndpointAddress badAddr = new EndpointAddress( "jxta://uuid-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA03/EndpointApiTest/0"); Messenger m = endp.getMessengerImmediate(badAddr, null); if (m == null) { fail("could not get tcp messenger to local peer...tcp is on ?"); } try { m.sendMessageB(new Message(), null, null); } catch (IOException ioe) { fail("Cannot send messages to unresolved messenger"); } // Leak test for (int i = 0; i < 1000000; i++) { m = endp.getMessengerImmediate(badAddr, null); } m = null; // Bottleneck test for (int i = 0; i < 1000000; i++) { EndpointAddress changingSvc = new EndpointAddress("tcp://1.1.1.1:1/EndpointApiTest/" + i); m = endp.getMessengerImmediate(changingSvc, null); } m = null; } // This will exhaust the heap if channel caching does not work for unresolved messengers. public void testMessageQueueHog() { try { Thread.sleep(5000); } catch (Exception e) {} EndpointService endp = endp = pg.getEndpointService(); EndpointAddress badAddr = new EndpointAddress("tcp://1.1.1.1:1/EndpointApiTest/0"); Messenger m = endp.getMessengerImmediate(badAddr, null); if (m == null) { fail("could not get tcp messenger to local peer...tcp is on ?"); } try { m.sendMessageB(new Message(), null, null); } catch (IOException ioe) { fail("Cannot send messages through unresolved messenger"); } // Leak test...should explode the heap, as of now. for (int i = 0; i < 1000000; i++) { m = endp.getMessengerImmediate(badAddr, null); m.sendMessageN(new Message(), null, null); } m = null; } // This will exhaust the heap if channel caching does not work for resolved messengers. public void testMessageQueueHog2() { try { Thread.sleep(5000); } catch (Exception e) {} EndpointService endp = endp = pg.getEndpointService(); EndpointAddress localAddr = new EndpointAddress("jxta", pg.getPeerID().getUniqueValue().toString(), "EndpointApiTest", "0"); Messenger m = endp.getMessengerImmediate(localAddr, null); if (m == null) { fail("could not get tcp messenger to local peer...tcp is on ?"); } try { m.sendMessageB(new Message(), null, null); } catch (IOException ioe) { fail("Cannot send messages through unresolved messenger"); } // Leak test...should explode the heap, as of now. for (int i = 0; i < 1000000; i++) { m = endp.getMessengerImmediate(localAddr, null); m.sendMessageN(new Message(), null, null); } m = null; } public void testAddRmListener() { try { Thread.sleep(5000); } catch (Exception e) {} EndpointService endp = endp = pg.getEndpointService(); // A few basic tests. // Remove listener from previous test. endp.removeIncomingMessageListener("EndpointApiTest", "0"); if (!endp.addIncomingMessageListener(this, "EndpointApiTest", "0")) { fail("Could not add listener"); } if (endp.addIncomingMessageListener(this, "EndpointApiTest", "0")) { fail("Could add redundant listener"); } Object o = endp.removeIncomingMessageListener("EndpointApiTest", "0"); if (o != this) { fail("Wrong listener removed: " + o + " instead of " + this); } if (!endp.addIncomingMessageListener(this, "EndpointApiTest", "0")) { fail("Could not add/remove/add listener"); } if (endp.removeIncomingMessageListener("EndpointApiTest", "0") != this) { fail("Wrong listener add/remove/add/removed"); } if (endp.removeIncomingMessageListener("EndpointApiTest", "0") != null) { fail("Listener removed twice"); } // Leak tests. EndpointAddress localAddr = new EndpointAddress("jxta", pg.getPeerID().getUniqueValue().toString(), "EndpointApiTest", "0"); Messenger m = endp.getMessenger(localAddr); if (m == null) { fail("could not get tcp messenger to local peer...tcp is on ?"); } // add/remove 500,000 times the same listener for (int i = 1; i < 500000; i++) { if (!endp.addIncomingMessageListener(this, "EndpointApiTest", "0")) { fail("Could not add fixed listener after " + i + " cycles"); } try { m.sendMessage(new Message()); } catch (IOException ioe) { fail("Cannot send messages to local fixed listener after " + i + " cycles"); } if (!waitForMessage()) { fail("Cannot receive messages through fixed listener after " + i + " cycles"); } if (endp.removeIncomingMessageListener("EndpointApiTest", "0") != this) { fail("Wrong fixed listener removed after " + i + " cycles"); } } // add/remove 500,000 different listeners for (int i = 1; i < 500000; i++) { if (!endp.addIncomingMessageListener(this, "EndpointApiTest", "" + i)) { fail("Could not add variable listener after " + i + " cycles"); } if (endp.removeIncomingMessageListener("EndpointApiTest", "" + i) != this) { fail("Wrong variable listener removed after " + i + " cycles"); } } } public static Test suite() { TestSuite suite = new TestSuite(EndpointApiTest.class); return suite; } public static void main(java.lang.String[] args) { junit.textui.TestRunner.run(suite()); pg.unref(); pg = null; System.out.flush(); System.err.flush(); }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?