@TestTargetNew( level = TestLevel.COMPLETE, notes = "", method = "deregister", args = {AbstractSelectionKey.class} ) public void test_deregister() throws Exception { MockSelectorProvider prov = new MockSelectorProvider(); AbstractSelector acceptSelector = prov.openSelector(); SocketChannel sc = prov.openSocketChannel(); sc.configureBlocking(false); SelectionKey acceptKey = sc.register(acceptSelector, SelectionKey.OP_READ, null); assertTrue(sc.isRegistered()); assertNotNull(acceptKey); ((MockAbstractSelector)acceptSelector).mockDeregister( (MockAbstractSelector.MockSelectionKey)acceptKey); assertFalse(sc.isRegistered()); }
/** * Returns the default SelectorProvider. */ public static SelectorProvider create() { return new SelectorProviderImpl() { public AbstractSelector openSelector() throws IOException { return new DotNetSelectorImpl(this); } }; }
public AbstractSelector openSelector () throws IOException { String selectorImpl = "default"; if (KqueueSelectorImpl.kqueue_supported()) selectorImpl = SELECTOR_IMPL_KQUEUE; if (EpollSelectorImpl.epoll_supported() && !epoll_failed) selectorImpl = SELECTOR_IMPL_EPOLL; selectorImpl = SystemProperties.getProperty(SELECTOR_IMPL, selectorImpl); if (selectorImpl.equals(SELECTOR_IMPL_KQUEUE)) return new KqueueSelectorImpl(this); if (selectorImpl.equals(SELECTOR_IMPL_EPOLL)) { // We jump through these hoops because even though epoll may look // like it's available (sys/epoll.h exists, and you can link against // all the epoll functions) it may not be available in the kernel // (especially 2.4 kernels), meaning you will get ENOSYS at run time. // // Madness! try { return new EpollSelectorImpl(this); } catch (InternalError e) { // epoll_create throws this on ENOSYS. epoll_failed = true; } } return new SelectorImpl (this); }
public AbstractSelector openSelector() throws IOException { return new WindowsSelectorImpl(this); }
public AbstractSelector openSelector() throws IOException { return provider.openSelector(); }
public AbstractSelector openSelector() throws IOException { return new SelectorImpl(this); }
/** * @see java.nio.channels.spi.SelectorProvider#openSelector() */ public AbstractSelector openSelector() throws IOException { return new SelectorImpl(this); }
@Override public AbstractSelector openSelector() { return new MockAbstractSelector(provider()); }
public AbstractSelector openSelector() throws IOException { return new EpollSelectorImpl(this); }
public AbstractSelector openSelector() throws IOException { return MockAbstractSelector.openSelector(); }
@Override public AbstractSelector openSelector() throws IOException { return null; }