java.nio.channels.ClosedChannelException Java Examples
The following examples show how to use
java.nio.channels.ClosedChannelException.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source Project: j2objc Author: google File: ChannelsTest.java License: Apache License 2.0 | 7 votes |
public void testNewInputStreamReadableByteChannel() throws Exception { ByteBuffer readbcbuf = ByteBuffer.allocateDirect(this.testNum); byte[] readbuf = new byte[this.testNum]; this.fins = new FileInputStream(tmpFile); ReadableByteChannel readbc = this.fins.getChannel(); assertEquals(this.fileSize, this.fins.available()); assertTrue(readbc.isOpen()); InputStream testins = Channels.newInputStream(readbc); // read in testins and fins use the same pointer testins.read(readbuf); assertEquals(this.fins.available(), this.fileSize - this.testNum); int readNum = readbc.read(readbcbuf); assertEquals(readNum, this.testNum); assertEquals(this.fins.available(), this.fileSize - this.testNum * 2); testins.read(readbuf); assertEquals(this.fins.available(), this.fileSize - this.testNum * 3); // readbc.close() affect testins readbc.close(); assertFalse(readbc.isOpen()); try { testins.read(readbuf); fail(); } catch (ClosedChannelException e) { // correct } }
Example #2
Source Project: nanofix Author: LMAX-Exchange File: OutboundMessageHandlerTest.java License: Apache License 2.0 | 6 votes |
@Test(expected = TransportClosedException.class) public void shouldNotifyTransportObserverIfAnClosedChannelExceptionIsThrownWhileWritingACollection() throws Exception { mockery.checking(new Expectations() { { //when one(writableByteChannel).write(with(any(ByteBuffer.class))); will(throwException(new ClosedChannelException())); //then one(connectionObserver).connectionClosed(); } }); handler.send(Arrays.asList(new FixMessageBuilder().build())); }
Example #3
Source Project: openjdk-8 Author: bpupadhyaya File: SctpChannelImpl.java License: GNU General Public License v2.0 | 6 votes |
@Override public <T> SctpChannel setOption(SctpSocketOption<T> name, T value) throws IOException { if (name == null) throw new NullPointerException(); if (!supportedOptions().contains(name)) throw new UnsupportedOperationException("'" + name + "' not supported"); synchronized (stateLock) { if (!isOpen()) throw new ClosedChannelException(); SctpNet.setSocketOption(fdVal, name, value, 0 /*oneToOne*/); } return this; }
Example #4
Source Project: Bytecoder Author: mirkosertic File: AbstractSelectableChannel.java License: Apache License 2.0 | 6 votes |
/** * Adjusts this channel's blocking mode. * * <p> If the given blocking mode is different from the current blocking * mode then this method invokes the {@link #implConfigureBlocking * implConfigureBlocking} method, while holding the appropriate locks, in * order to change the mode. </p> */ public final SelectableChannel configureBlocking(boolean block) throws IOException { synchronized (regLock) { if (!isOpen()) throw new ClosedChannelException(); boolean blocking = !nonBlocking; if (block != blocking) { if (block && haveValidKeys()) throw new IllegalBlockingModeException(); implConfigureBlocking(block); nonBlocking = !block; } } return this; }
Example #5
Source Project: rsocket-java Author: rsocket File: DisconnectableClientTransport.java License: Apache License 2.0 | 6 votes |
@Override public Mono<DuplexConnection> connect() { return Mono.defer( () -> now() < nextConnectPermitMillis ? Mono.error(new ClosedChannelException()) : clientTransport .connect() .map( c -> { if (curConnection.compareAndSet(null, c)) { return c; } else { throw new IllegalStateException( "Transport supports at most 1 connection"); } })); }
Example #6
Source Project: aeron Author: real-logic File: DataTransportPoller.java License: Apache License 2.0 | 6 votes |
public SelectionKey registerForRead( final ReceiveChannelEndpoint channelEndpoint, final UdpChannelTransport transport, final int transportIndex) { SelectionKey key = null; try { final ChannelAndTransport channelAndTransport = new ChannelAndTransport( channelEndpoint, transport, transportIndex); key = transport.receiveDatagramChannel().register(selector, SelectionKey.OP_READ, channelAndTransport); channelAndTransports = ArrayUtil.add(channelAndTransports, channelAndTransport); } catch (final ClosedChannelException ex) { LangUtil.rethrowUnchecked(ex); } return key; }
Example #7
Source Project: gemfirexd-oss Author: gemxd File: GfxdThriftServerSelector.java License: Apache License 2.0 | 6 votes |
protected void addNewClient(ClientProcessData clientData) { SelectionKey clientKey; try { // if client is already in execution then register OP_WRITE interest // too, else only OP_READ /*if (clientData.idle) { clientKey = clientData.clientSocket.registerSelector(this.selector, SelectionKey.OP_READ); } else*/ { clientKey = clientData.clientSocket.registerSelector(this.selector, SelectionKey.OP_READ | SelectionKey.OP_WRITE); } clientData.key = clientKey; clientKey.attach(clientData); } catch (ClosedChannelException cce) { cleanupSelectionKey(clientData); } catch (IOException ioe) { LOGGER.warn("Failed to register accepted connection to selector!", ioe); cleanupSelectionKey(clientData); } }
Example #8
Source Project: dubbox Author: remoting File: HeapChannelBuffer.java License: Apache License 2.0 | 6 votes |
public int setBytes(int index, ScatteringByteChannel in, int length) throws IOException { ByteBuffer buf = ByteBuffer.wrap(array, index, length); int readBytes = 0; do { int localReadBytes; try { localReadBytes = in.read(buf); } catch (ClosedChannelException e) { localReadBytes = -1; } if (localReadBytes < 0) { if (readBytes == 0) { return -1; } else { break; } } else if (localReadBytes == 0) { break; } readBytes += localReadBytes; } while (readBytes < length); return readBytes; }
Example #9
Source Project: jdk8u60 Author: chenghanpeng File: SctpMultiChannelImpl.java License: GNU General Public License v2.0 | 6 votes |
@Override public <T> SctpMultiChannel setOption(SctpSocketOption<T> name, T value, Association association) throws IOException { if (name == null) throw new NullPointerException(); if (!(supportedOptions().contains(name))) throw new UnsupportedOperationException("'" + name + "' not supported"); synchronized (stateLock) { if (association != null && (name.equals(SCTP_PRIMARY_ADDR) || name.equals(SCTP_SET_PEER_PRIMARY_ADDR))) { checkAssociation(association); } if (!isOpen()) throw new ClosedChannelException(); int assocId = association == null ? 0 : association.associationID(); SctpNet.setSocketOption(fdVal, name, value, assocId); } return this; }
Example #10
Source Project: Flink-CEPplus Author: ljygz File: Client.java License: Apache License 2.0 | 6 votes |
/** * Returns a future holding the serialized request result. * * <p>If the channel has been established, forward the call to the * established channel, otherwise queue it for when the channel is * handed in. * * @param request the request to be sent. * @return Future holding the serialized result */ CompletableFuture<RESP> sendRequest(REQ request) { synchronized (connectLock) { if (failureCause != null) { return FutureUtils.getFailedFuture(failureCause); } else if (connectionShutdownFuture.get() != null) { return FutureUtils.getFailedFuture(new ClosedChannelException()); } else { if (established != null) { return established.sendRequest(request); } else { // Queue this and handle when connected final PendingRequest pending = new PendingRequest(request); queuedRequests.add(pending); return pending; } } } }
Example #11
Source Project: openjdk-jdk8u-backup Author: AdoptOpenJDK File: SctpMultiChannelImpl.java License: GNU General Public License v2.0 | 6 votes |
@Override @SuppressWarnings("unchecked") public <T> T getOption(SctpSocketOption<T> name, Association association) throws IOException { if (name == null) throw new NullPointerException(); if (!supportedOptions().contains(name)) throw new UnsupportedOperationException("'" + name + "' not supported"); synchronized (stateLock) { if (association != null && (name.equals(SCTP_PRIMARY_ADDR) || name.equals(SCTP_SET_PEER_PRIMARY_ADDR))) { checkAssociation(association); } if (!isOpen()) throw new ClosedChannelException(); int assocId = association == null ? 0 : association.associationID(); return (T)SctpNet.getSocketOption(fdVal, name, assocId); } }
Example #12
Source Project: jdk8u-jdk Author: lambdalab-mirror File: SctpMultiChannelImpl.java License: GNU General Public License v2.0 | 6 votes |
@Override public SctpChannel branch(Association association) throws IOException { synchronized (stateLock) { checkAssociation(association); if (!isOpen()) throw new ClosedChannelException(); FileDescriptor bFd = SctpNet.branch(fdVal, association.associationID()); /* successfully branched, we can now remove it from assoc list */ removeAssociation(association); return new SctpChannelImpl(provider(), bFd, association); } }
Example #13
Source Project: netty-4.1.22 Author: tianheframe File: HttpObjectAggregatorTest.java License: Apache License 2.0 | 6 votes |
@Test public void testOversizedRequest() { EmbeddedChannel embedder = new EmbeddedChannel(new HttpObjectAggregator(4)); HttpRequest message = new DefaultHttpRequest(HttpVersion.HTTP_1_1, HttpMethod.PUT, "http://localhost"); HttpContent chunk1 = new DefaultHttpContent(Unpooled.copiedBuffer("test", CharsetUtil.US_ASCII)); HttpContent chunk2 = new DefaultHttpContent(Unpooled.copiedBuffer("test2", CharsetUtil.US_ASCII)); HttpContent chunk3 = LastHttpContent.EMPTY_LAST_CONTENT; assertFalse(embedder.writeInbound(message)); assertFalse(embedder.writeInbound(chunk1)); assertFalse(embedder.writeInbound(chunk2)); FullHttpResponse response = embedder.readOutbound(); assertEquals(HttpResponseStatus.REQUEST_ENTITY_TOO_LARGE, response.status()); assertEquals("0", response.headers().get(HttpHeaderNames.CONTENT_LENGTH)); assertFalse(embedder.isOpen()); try { assertFalse(embedder.writeInbound(chunk3)); fail(); } catch (Exception e) { assertTrue(e instanceof ClosedChannelException); } assertFalse(embedder.finish()); }
Example #14
Source Project: dubbox Author: hutai123 File: HeapChannelBuffer.java License: Apache License 2.0 | 6 votes |
public int setBytes(int index, ScatteringByteChannel in, int length) throws IOException { ByteBuffer buf = ByteBuffer.wrap(array, index, length); int readBytes = 0; do { int localReadBytes; try { localReadBytes = in.read(buf); } catch (ClosedChannelException e) { localReadBytes = -1; } if (localReadBytes < 0) { if (readBytes == 0) { return -1; } else { break; } } else if (localReadBytes == 0) { break; } readBytes += localReadBytes; } while (readBytes < length); return readBytes; }
Example #15
Source Project: dragonwell8_jdk Author: alibaba File: SctpMultiChannelImpl.java License: GNU General Public License v2.0 | 6 votes |
@Override @SuppressWarnings("unchecked") public <T> T getOption(SctpSocketOption<T> name, Association association) throws IOException { if (name == null) throw new NullPointerException(); if (!supportedOptions().contains(name)) throw new UnsupportedOperationException("'" + name + "' not supported"); synchronized (stateLock) { if (association != null && (name.equals(SCTP_PRIMARY_ADDR) || name.equals(SCTP_SET_PEER_PRIMARY_ADDR))) { checkAssociation(association); } if (!isOpen()) throw new ClosedChannelException(); int assocId = association == null ? 0 : association.associationID(); return (T)SctpNet.getSocketOption(fdVal, name, assocId); } }
Example #16
Source Project: ambry Author: linkedin File: BlockingChannel.java License: Apache License 2.0 | 6 votes |
@Override public ChannelOutput receive() throws IOException { if (!connected) { throw new ClosedChannelException(); } // consume the size header and return the remaining response. ByteBuffer streamSizeBuffer = ByteBuffer.allocate(8); while (streamSizeBuffer.position() < streamSizeBuffer.capacity()) { int read = readChannel.read(); if (read == -1) { throw new IOException("Could not read complete size from readChannel "); } streamSizeBuffer.put((byte) read); } streamSizeBuffer.flip(); return new ChannelOutput(readChannel, streamSizeBuffer.getLong() - 8); }
Example #17
Source Project: hottub Author: dsrg-uoft File: SctpServerChannelImpl.java License: GNU General Public License v2.0 | 6 votes |
@Override public <T> SctpServerChannel setOption(SctpSocketOption<T> name, T value) throws IOException { if (name == null) throw new NullPointerException(); if (!supportedOptions().contains(name)) throw new UnsupportedOperationException("'" + name + "' not supported"); synchronized (stateLock) { if (!isOpen()) throw new ClosedChannelException(); SctpNet.setSocketOption(fdVal, name, value, 0 /*oneToOne*/); return this; } }
Example #18
Source Project: servicetalk Author: apple File: PrematureClosureBeforeResponsePayloadBodyTest.java License: Apache License 2.0 | 6 votes |
@Test public void chunkedWithoutFinalCRLF() throws Exception { encodedResponse.set("HTTP/1.1 200 OK\r\n" + "Content-Type: text/plain\r\n" + "Transfer-Encoding: chunked\r\n" + "Connection: close\r\n" + "\r\n" + "5\r\n" + "hello\r\n" + "0\r\n"); // no final CRLF HttpRequest request = client.get("/"); ReservedBlockingHttpConnection connection = client.reserveConnection(request); // Wait until a server closes the connection: connection.connectionContext().onClose().whenFinally(connectionClosedLatch::countDown).subscribe(); assertThrows(ClosedChannelException.class, () -> connection.request(request)); connectionClosedLatch.await(); }
Example #19
Source Project: ambry Author: linkedin File: ByteBufferReadableStreamChannel.java License: Apache License 2.0 | 6 votes |
@Override public Future<Long> readInto(AsyncWritableChannel asyncWritableChannel, Callback<Long> callback) { Future<Long> future; if (!channelOpen.get()) { ClosedChannelException closedChannelException = new ClosedChannelException(); FutureResult<Long> futureResult = new FutureResult<Long>(); futureResult.done(0L, closedChannelException); future = futureResult; if (callback != null) { callback.onCompletion(0L, closedChannelException); } } else if (!channelEmptied.compareAndSet(false, true)) { throw new IllegalStateException("ReadableStreamChannel cannot be read more than once"); } else { future = asyncWritableChannel.write(buffer, callback); } return future; }
Example #20
Source Project: Smack Author: igniterealtime File: XmppTcpTransportModule.java License: Apache License 2.0 | 5 votes |
private void handleReadWriteIoException(IOException e) { if (e instanceof ClosedChannelException && !tcpNioTransport.isConnected()) { // The connection is already closed. return; } connectionInternal.notifyConnectionError(e); }
Example #21
Source Project: jdk8u-dev-jdk Author: frohoff File: SctpChannelImpl.java License: GNU General Public License v2.0 | 5 votes |
@Override @SuppressWarnings("unchecked") public <T> T getOption(SctpSocketOption<T> name) throws IOException { if (name == null) throw new NullPointerException(); if (!supportedOptions().contains(name)) throw new UnsupportedOperationException("'" + name + "' not supported"); synchronized (stateLock) { if (!isOpen()) throw new ClosedChannelException(); return (T)SctpNet.getSocketOption(fdVal, name, 0 /*oneToOne*/); } }
Example #22
Source Project: jdk8u-jdk Author: frohoff File: SctpChannelImpl.java License: GNU General Public License v2.0 | 5 votes |
private void ensureOpenAndUnconnected() throws IOException { synchronized (stateLock) { if (!isOpen()) throw new ClosedChannelException(); if (isConnected()) throw new AlreadyConnectedException(); if (state == ChannelState.PENDING) throw new ConnectionPendingException(); } }
Example #23
Source Project: tracecompass Author: tracecompass File: HistoryTreeClassicStub.java License: Eclipse Public License 2.0 | 5 votes |
/** * Check the integrity of all the nodes in the tree. Calls * {@link #assertNodeIntegrity} for every node in the tree. */ public void assertIntegrity() { try { for (int i = 0; i < getNodeCount(); i++) { assertNodeIntegrity(getNode(i)); } } catch (ClosedChannelException e) { fail(e.getMessage()); } }
Example #24
Source Project: j2objc Author: google File: SelectorTest.java License: Apache License 2.0 | 5 votes |
private void assert_select_OP_ACCEPT(SelectType type, int timeout) throws IOException, ClosedChannelException { SocketChannel sc = SocketChannel.open(); SocketChannel client = null; try { ssc.register(selector, SelectionKey.OP_ACCEPT); sc.connect(localAddress); int count = blockingSelect(type, timeout); assertEquals(1, count); Set<SelectionKey> selectedKeys = selector.selectedKeys(); assertEquals(1, selectedKeys.size()); SelectionKey key = selectedKeys.iterator().next(); assertEquals(ssc.keyFor(selector), key); assertEquals(SelectionKey.OP_ACCEPT, key.readyOps()); // select again, it should return 0 count = selectOnce(type, timeout); assertEquals(0,count); // but selectedKeys remains the same as previous assertSame(selectedKeys, selector.selectedKeys()); client = ssc.accept(); selectedKeys.clear(); } finally { try { sc.close(); } catch (IOException e) { // do nothing } if (null != client) { client.close(); } } ssc.keyFor(selector).cancel(); }
Example #25
Source Project: cloudstack Author: apache File: Agent.java License: Apache License 2.0 | 5 votes |
private void postRequest(final Request request) throws AgentControlChannelException { if (_link != null) { try { _link.send(request.toBytes()); } catch (final ClosedChannelException e) { s_logger.warn("Unable to post agent control reques: " + request.toString()); throw new AgentControlChannelException("Unable to post agent control request due to " + e.getMessage()); } } else { throw new AgentControlChannelException("Unable to post agent control request as link is not available"); } }
Example #26
Source Project: ambry Author: linkedin File: ByteBufferAWC.java License: Apache License 2.0 | 5 votes |
/** * Closes the channel and resolves all pending chunks with a {@link ClosedChannelException}. Also queues a poison * so that {@link #getNextChunk()} starts returning {@code null}. */ @Override public void close() { if (channelOpen.compareAndSet(true, false)) { resolveAllRemainingChunks(new ClosedChannelException()); } }
Example #27
Source Project: lottie-android Author: airbnb File: Utils.java License: Apache License 2.0 | 5 votes |
/** * From http://vaibhavblogs.org/2012/12/common-java-networking-exceptions/ */ public static boolean isNetworkException(Throwable e) { return e instanceof SocketException || e instanceof ClosedChannelException || e instanceof InterruptedIOException || e instanceof ProtocolException || e instanceof SSLException || e instanceof UnknownHostException || e instanceof UnknownServiceException; }
Example #28
Source Project: openjdk-8-source Author: keerath File: SelectorImpl.java License: GNU General Public License v2.0 | 5 votes |
private void handleDeferredRegistrations() { synchronized (deferredRegistrations) { int deferredListSize = deferredRegistrations.size(); for (int i = 0; i < deferredListSize; i++) { EventHandler eventHandler = (EventHandler)deferredRegistrations.get(i); if (orb.transportDebugFlag) { dprint(".handleDeferredRegistrations: " + eventHandler); } SelectableChannel channel = eventHandler.getChannel(); SelectionKey selectionKey = null; try { selectionKey = channel.register(selector, eventHandler.getInterestOps(), (Object)eventHandler); } catch (ClosedChannelException e) { if (orb.transportDebugFlag) { dprint(".handleDeferredRegistrations: " + e); } } eventHandler.setSelectionKey(selectionKey); } deferredRegistrations.clear(); } }
Example #29
Source Project: offheap-store Author: Terracotta-OSS File: FileBackedStorageEngineTest.java License: Apache License 2.0 | 5 votes |
@Test(expected = IOException.class) public void testConcurrentClose() throws Throwable { FileChannel spyChannel = spy(FileChannel.class); MappedPageSource source = new MappedPageSource(dataFile) { @Override public FileChannel getReadableChannel() { return spyChannel; } }; FileBackedStorageEngine<byte[], byte[]> engine = new FileBackedStorageEngine<>(source, Long.MAX_VALUE, MemoryUnit.BYTES, PersistentByteArrayPortability.INSTANCE, PersistentByteArrayPortability.INSTANCE); when(spyChannel.read(notNull(), anyLong())) .thenAnswer(o -> { //deterministically simulate another thread closing the engine while //this thread is reading. engine.close(); throw new ClosedChannelException(); }); try { byte[] buffer = new byte[10]; long p = engine.writeMapping(new byte[0], buffer, 0, 0); Assert.assertTrue(p >= 0); engine.flush(); engine.readValue(0); } catch (Throwable e) { Throwable cause = e; while (cause.getCause() != null) { cause = cause.getCause(); } throw cause; } finally { source.close(); } }
Example #30
Source Project: netty-4.1.22 Author: tianheframe File: EpollSocketChannelConfigTest.java License: Apache License 2.0 | 5 votes |
@Test public void testGetOptionWhenClosed() { ch.close().syncUninterruptibly(); try { ch.config().getSoLinger(); fail(); } catch (ChannelException e) { assertTrue(e.getCause() instanceof ClosedChannelException); } }