@Override public int getReceiveBufferSize() throws SocketException { return sock.getReceiveBufferSize(); }
@Override public int getReceiveBufferSize() { try { return javaSocket.getReceiveBufferSize(); } catch (SocketException e) { throw new ChannelException(e); } }
private int getBufferSize(SocketChannel channel) { int size = 1024; try { size = channel.socket().getReceiveBufferSize(); } catch (SocketException e) { // use default size } return size; }
@Override public int getReceiveBufferSize() { try { return javaSocket.getReceiveBufferSize(); } catch (SocketException e) { throw new ChannelException(e); } }
private void configureSocket(Socket socket) throws SocketException { socket.setTcpNoDelay(true); socket.setSendBufferSize(this.socketBufferSize); if(socket.getReceiveBufferSize() != this.socketBufferSize) logger.debug("Requested socket receive buffer size was " + this.socketBufferSize + " bytes but actual size is " + socket.getReceiveBufferSize() + " bytes."); if(socket.getSendBufferSize() != this.socketBufferSize) logger.debug("Requested socket send buffer size was " + this.socketBufferSize + " bytes but actual size is " + socket.getSendBufferSize() + " bytes."); }
/** * See {@link Socket#getReceiveBufferSize()}. Calling this method does not trigger mode detection. */ @Override public synchronized int getReceiveBufferSize() throws SocketException { return getSocketAllowUnknownMode().getReceiveBufferSize(); }
private Socket applySettings(Socket s) throws IOException { if(logger.isDebugEnabled()) logger.debug("Attempting to set socket receive buffer of " + this.socketReceiveBufferSize + " bytes"); s.setReceiveBufferSize(socketReceiveBufferSize); s.setSoTimeout(socketTimeout); if(logger.isDebugEnabled()) logger.info("Actually set socket receive buffer to " + s.getReceiveBufferSize() + " bytes"); return s; }
@Override public int getReceiveBufferSize() { try { return javaSocket.getReceiveBufferSize(); } catch (SocketException e) { throw new ChannelException(e); } }
public int getReceiveBufferSize() { try { return socket.getReceiveBufferSize(); } catch (SocketException e) { throw new ChannelException(e); } }
@Override protected void connect(SelectionKey selectionKey) throws IOException { if(!checkTimeout()) { return; } if(socketChannel.finishConnect() == false) { return; } if(logger.isDebugEnabled()) { // check buffer sizes you often don't get out what you put in! if(socketChannel.socket().getReceiveBufferSize() != this.socketBufferSize) { logger.debug("Requested socket receive buffer size was " + this.socketBufferSize + " bytes but actual size is " + socketChannel.socket().getReceiveBufferSize() + " bytes."); } if(socketChannel.socket().getSendBufferSize() != this.socketBufferSize) { logger.debug("Requested socket send buffer size was " + this.socketBufferSize + " bytes but actual size is " + socketChannel.socket().getSendBufferSize() + " bytes."); } } addClientRequest(clientRequest, timeoutMs, 0); }
private void recordSocketCreation(SocketDestination dest, Socket socket) throws SocketException { int numCreated = created.incrementAndGet(); logger.debug("Created socket " + numCreated + " for " + dest.getHost() + ":" + dest.getPort() + " using protocol " + dest.getRequestFormatType().getCode()); // check buffer sizes--you often don't get out what you put in! int sendBufferSize = socket.getSendBufferSize(); int receiveBufferSize = socket.getReceiveBufferSize(); if(receiveBufferSize != this.socketBufferSize) logger.debug("Requested socket receive buffer size was " + this.socketBufferSize + " bytes but actual size is " + receiveBufferSize + " bytes."); if(sendBufferSize != this.socketBufferSize) logger.debug("Requested socket send buffer size was " + this.socketBufferSize + " bytes but actual size is " + sendBufferSize + " bytes."); }
public Bridge(Socket socket, URI target) throws Exception { receiveSocket = socket; sendSocket = createSocket(target); if (receiveBufferSize > 0) { sendSocket.setReceiveBufferSize(receiveBufferSize); } sendSocket.connect(new InetSocketAddress(target.getHost(), target.getPort())); linkWithThreads(receiveSocket, sendSocket); LOG.info("proxy connection " + sendSocket + ", receiveBufferSize=" + sendSocket.getReceiveBufferSize()); }
public void run() { try { while(!socket.isClosed()) { pause.get().await(); try { Socket source = socket.accept(); pause.get().await(); if (receiveBufferSize > 0) { source.setReceiveBufferSize(receiveBufferSize); } LOG.info("accepted " + source + ", receiveBufferSize:" + source.getReceiveBufferSize()); synchronized(connections) { connections.add(new Bridge(source, target)); } } catch (SocketTimeoutException expected) { } } } catch (Exception e) { LOG.debug("acceptor: finished for reason: " + e.getLocalizedMessage()); } }
public <T> T getOption(final Option<T> option) throws IOException { if (option == Options.CLOSE_ABORT) { return option.cast(Boolean.valueOf(conduit.getSocketChannel().socket().getSoLinger() == 0)); } else if (option == Options.IP_TRAFFIC_CLASS) { return option.cast(Integer.valueOf(conduit.getSocketChannel().socket().getTrafficClass())); } else if (option == Options.KEEP_ALIVE) { return option.cast(Boolean.valueOf(conduit.getSocketChannel().socket().getKeepAlive())); } else if (option == Options.READ_TIMEOUT) { return option.cast(Integer.valueOf(conduit.getReadTimeout())); } else if (option == Options.RECEIVE_BUFFER) { return option.cast(Integer.valueOf(conduit.getSocketChannel().socket().getReceiveBufferSize())); } else if (option == Options.SEND_BUFFER) { return option.cast(Integer.valueOf(conduit.getSocketChannel().socket().getSendBufferSize())); } else if (option == Options.TCP_NODELAY) { return option.cast(Boolean.valueOf(conduit.getSocketChannel().socket().getTcpNoDelay())); } else if (option == Options.TCP_OOB_INLINE) { return option.cast(Boolean.valueOf(conduit.getSocketChannel().socket().getOOBInline())); } else if (option == Options.WRITE_TIMEOUT) { return option.cast(Integer.valueOf(conduit.getWriteTimeout())); } else { return null; } }
result = option.cast(Integer.valueOf(conduit.getAndSetReadTimeout(value == null ? 0 : Options.READ_TIMEOUT.cast(value).intValue()))); } else if (option == Options.RECEIVE_BUFFER) { result = option.cast(Integer.valueOf(conduit.getSocketChannel().socket().getReceiveBufferSize())); conduit.getSocketChannel().socket().setReceiveBufferSize(Options.RECEIVE_BUFFER.cast(value).intValue()); } else if (option == Options.SEND_BUFFER) {
@Nullable @Override public Object call() throws Exception { Socket sock = null; try { sock = new Socket(addr, 60000); X.println("Socket [timeout=" + sock.getSoTimeout() + ", linger=" + sock.getSoLinger() + ", sndBuf=" + sock.getSendBufferSize() + ", sndBuf=" + sock.getSendBufferSize() + ']'); sockRef.set(sock); sock.getOutputStream().write( new byte[(sock.getSendBufferSize() + sock.getReceiveBufferSize()) * 2]); assert false : "Message has been written."; } catch (IOException e) { X.println("Caught expected exception: " + e); e.printStackTrace(); } finally { U.closeQuiet(sock); } return null; } },
public ServerQueueStatus connect(EndpointManager endpointManager, ServerLocation location, ClientSideHandshake handshake, int socketBufferSize, int handshakeTimeout, int readTimeout, CommunicationMode communicationMode, GatewaySender sender, SocketCreator sc) throws IOException { theSocket = sc.connectForClient(location.getHostName(), location.getPort(), handshakeTimeout, socketBufferSize); theSocket.setTcpNoDelay(true); theSocket.setSendBufferSize(socketBufferSize); // Verify buffer sizes verifySocketBufferSize(socketBufferSize, theSocket.getReceiveBufferSize(), "receive"); verifySocketBufferSize(socketBufferSize, theSocket.getSendBufferSize(), "send"); theSocket.setSoTimeout(handshakeTimeout); out = theSocket.getOutputStream(); in = theSocket.getInputStream(); this.status = handshake.handshakeWithServer(this, location, communicationMode); commBuffer = ServerConnection.allocateCommBuffer(socketBufferSize, theSocket); if (sender != null) { commBufferForAsyncRead = ServerConnection.allocateCommBuffer(socketBufferSize, theSocket); } theSocket.setSoTimeout(readTimeout); endpoint = endpointManager.referenceEndpoint(location, this.status.getMemberId()); this.connectFinished = true; this.endpoint.getStats().incConnections(1); return status; }
private void createIoFilter(SocketChannel channel, boolean clientSocket) throws IOException { if (getConduit().useSSL() && channel != null) { InetSocketAddress address = (InetSocketAddress) channel.getRemoteAddress(); SSLEngine engine = getConduit().getSocketCreator().createSSLEngine(address.getHostName(), address.getPort()); if (!clientSocket) { engine.setWantClientAuth(true); engine.setNeedClientAuth(true); } int packetBufferSize = engine.getSession().getPacketBufferSize(); if (inputBuffer == null || (inputBuffer.capacity() < packetBufferSize)) { // TLS has a minimum input buffer size constraint if (inputBuffer != null) { Buffers.releaseReceiveBuffer(inputBuffer, getConduit().getStats()); } inputBuffer = Buffers.acquireReceiveBuffer(packetBufferSize, getConduit().getStats()); } if (channel.socket().getReceiveBufferSize() < packetBufferSize) { channel.socket().setReceiveBufferSize(packetBufferSize); } if (channel.socket().getSendBufferSize() < packetBufferSize) { channel.socket().setSendBufferSize(packetBufferSize); } ioFilter = getConduit().getSocketCreator().handshakeSSLSocketChannel(channel, engine, getConduit().idleConnectionTimeout, clientSocket, inputBuffer, getConduit().getStats()); } else { ioFilter = new NioPlainEngine(); } }
@Nullable @Override public Object call() throws Exception { ServerSocket srvSock = null; Socket sock = null; try { srvSock = new ServerSocket(60000, 0, addr); sock = srvSock.accept(); X.println("Socket [timeout=" + sock.getSoTimeout() + ", linger=" + sock.getSoLinger() + ", sndBuf=" + sock.getSendBufferSize() + ", sndBuf=" + sock.getSendBufferSize() + ']'); sock.setKeepAlive(true); sock.setSoTimeout(2000); sock.setSendBufferSize(256 * 1024); X.println("Socket [timeout=" + sock.getSoTimeout() + ", linger=" + sock.getSoLinger() + ", sndBuf=" + sock.getSendBufferSize() + ", rcvBuf=" + sock.getReceiveBufferSize() + ']'); while (!done.get()) X.println("Read from socket: " + sock.getInputStream().read()); return null; } finally { U.closeQuiet(srvSock); U.closeQuiet(sock); } } },
SocketChannel socketChannel = (SocketChannel) key.channel(); log.debug("Created socket with SO_RCVBUF = {}, SO_SNDBUF = {}, SO_TIMEOUT = {} to node {}", socketChannel.socket().getReceiveBufferSize(), socketChannel.socket().getSendBufferSize(), socketChannel.socket().getSoTimeout(),