@Override public void connect(Address dest) throws Exception { connect(dest, server.usePeerConnections()); }
public NioConnection(SocketChannel channel, NioBaseServer server) throws Exception { this.channel=channel; this.server=server; setSocketParameters(this.channel.socket()); channel.configureBlocking(false); this.connected=channel.isConnected(); send_buf=new Buffers(server.maxSendBuffers() *2); // space for actual bufs and length bufs! this.peer_addr=server.usePeerConnections()? null /* read by first receive() */ : new IpAddress((InetSocketAddress)channel.getRemoteAddress()); last_access=getTimestamp(); // last time a message was sent or received (ns) }
protected boolean _receive(boolean update) throws Exception { ByteBuffer msg; Receiver receiver=server.receiver(); if(peer_addr == null && server.usePeerConnections() && (peer_addr=readPeerAddress()) != null) { recv_buf=new Buffers(2).add(ByteBuffer.allocate(Global.INT_SIZE), null); server.addConnection(peer_addr, this); return true; } if((msg=recv_buf.readLengthAndData(channel)) == null) return false; if(receiver != null) receiver.receive(peer_addr, msg); if(update) updateLastAccessed(); return true; }
public void start() throws Exception { server=new NioServer(getThreadFactory(), getSocketFactory(), bind_addr, bind_port, bind_port+port_range, external_addr, external_port); server.receiver(this) .timeService(time_service) .receiveBufferSize(recv_buf_size) .sendBufferSize(send_buf_size) .socketConnectionTimeout(sock_conn_timeout) .tcpNodelay(tcp_nodelay).linger(linger) .clientBindAddress(client_bind_addr).clientBindPort(client_bind_port).deferClientBinding(defer_client_bind_addr) .log(this.log); server.maxSendBuffers(max_send_buffers).usePeerConnections(true); server.copyOnPartialWrite(this.copy_on_partial_write).readerIdleTime(this.reader_idle_time); if(reaper_interval > 0 || conn_expire_time > 0) { if(reaper_interval == 0) { reaper_interval=5000; log.warn("reaper_interval was 0, set it to %d", reaper_interval); } if(conn_expire_time == 0) { conn_expire_time=(long) 1000 * 60 * 5; log.warn("conn_expire_time was 0, set it to %d", conn_expire_time); } server.connExpireTimeout(conn_expire_time).reaperInterval(reaper_interval); } super.start(); }
@Override public void connect(Address dest) throws Exception { connect(dest, server.usePeerConnections()); }
public NioConnection(SocketChannel channel, NioBaseServer server) throws Exception { this.channel=channel; this.server=server; setSocketParameters(this.channel.socket()); channel.configureBlocking(false); this.connected=channel.isConnected(); send_buf=new Buffers(server.maxSendBuffers() *2); // space for actual bufs and length bufs! this.peer_addr=server.usePeerConnections()? null /* read by first receive() */ : new IpAddress((InetSocketAddress)channel.getRemoteAddress()); last_access=getTimestamp(); // last time a message was sent or received (ns) }
protected boolean _receive(boolean update) throws Exception { ByteBuffer msg; Receiver receiver=server.receiver(); if(peer_addr == null && server.usePeerConnections() && (peer_addr=readPeerAddress()) != null) { recv_buf=new Buffers(2).add(ByteBuffer.allocate(Global.INT_SIZE), null); server.addConnection(peer_addr, this); return true; } if((msg=recv_buf.readLengthAndData(channel)) == null) return false; if(receiver != null) receiver.receive(peer_addr, msg); if(update) updateLastAccessed(); return true; }
public void start() throws Exception { server=new NioServer(getThreadFactory(), getSocketFactory(), bind_addr, bind_port, bind_port+port_range, external_addr, external_port); server.receiver(this) .timeService(time_service) .receiveBufferSize(recv_buf_size) .sendBufferSize(send_buf_size) .socketConnectionTimeout(sock_conn_timeout) .tcpNodelay(tcp_nodelay).linger(linger) .clientBindAddress(client_bind_addr).clientBindPort(client_bind_port).deferClientBinding(defer_client_bind_addr) .log(this.log); server.maxSendBuffers(max_send_buffers).usePeerConnections(true); server.copyOnPartialWrite(this.copy_on_partial_write).readerIdleTime(this.reader_idle_time); if(reaper_interval > 0 || conn_expire_time > 0) { if(reaper_interval == 0) { reaper_interval=5000; log.warn("reaper_interval was 0, set it to %d", reaper_interval); } if(conn_expire_time == 0) { conn_expire_time=(long) 1000 * 60 * 5; log.warn("conn_expire_time was 0, set it to %d", conn_expire_time); } server.connExpireTimeout(conn_expire_time).reaperInterval(reaper_interval); } super.start(); }