You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ra...@apache.org on 2008/06/17 00:16:02 UTC
svn commit: r668333 - in
/incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/io:
IoHandler.java IoSender.java
Author: rajith
Date: Mon Jun 16 15:16:02 2008
New Revision: 668333
URL: http://svn.apache.org/viewvc?rev=668333&view=rev
Log:
This is a fix for QPID-1140 and QPId-1141.
I also removed commented code as well as code that wasn't used.
Cleaned up unused imports as well.
Modified:
incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/io/IoHandler.java
incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/io/IoSender.java
Modified: incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/io/IoHandler.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/io/IoHandler.java?rev=668333&r1=668332&r2=668333&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/io/IoHandler.java (original)
+++ incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/io/IoHandler.java Mon Jun 16 15:16:02 2008
@@ -26,8 +26,6 @@
import java.net.Socket;
import java.net.SocketException;
import java.nio.ByteBuffer;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.qpidity.transport.Connection;
@@ -54,8 +52,7 @@
private Receiver<ByteBuffer> _receiver;
private Socket _socket;
private byte[] _readBuf;
- private static Map<Integer,IoSender> _handlers = new ConcurrentHashMap<Integer,IoSender>();
- private AtomicInteger _count = new AtomicInteger();
+ private static AtomicInteger _count = new AtomicInteger();
private int _readBufferSize;
private int _writeBufferSize;
@@ -105,11 +102,11 @@
}
catch (SocketException e)
{
- log.error(e,"Error connecting to broker");
+ throw new RuntimeException("Error connecting to broker",e);
}
catch (IOException e)
{
- log.error(e,"Error connecting to broker");
+ throw new RuntimeException("Error connecting to broker",e);
}
IoSender sender = new IoSender(_socket);
@@ -118,8 +115,6 @@
delegate);
con.setConnectionId(_count.incrementAndGet());
- _handlers.put(con.getConnectionId(),sender);
-
_receiver = new InputHandler(new Assembler(con), InputHandler.State.PROTO_HDR);
Thread t = new Thread(this);
@@ -131,7 +126,7 @@
public void run()
{
- // I set the read buffer size simillar to SO_RCVBUF
+ // I set the read_buffer size simillar to SO_RCVBUF
// Haven't tested with a lower value to see its better or worse
_readBuf = new byte[_readBufferSize];
try
@@ -148,9 +143,6 @@
ByteBuffer b = ByteBuffer.allocate(read);
b.put(_readBuf,0,read);
b.flip();
- //byte[] temp = new byte[read];
- //System.arraycopy(_readBuf, 0,temp, 0, read);
- //ByteBuffer b = ByteBuffer.wrap(temp);
_receiver.received(b);
}
}
@@ -177,10 +169,12 @@
}
}
+ /**
+ * Will experiment in a future version with batching
+ */
public static void startBatchingFrames(int connectionId)
{
- IoSender sender = _handlers.get(connectionId);
- sender.setStartBatching();
+
}
Modified: incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/io/IoSender.java
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/io/IoSender.java?rev=668333&r1=668332&r2=668333&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/io/IoSender.java (original)
+++ incubator/qpid/trunk/qpid/java/common/src/main/java/org/apache/qpidity/transport/network/io/IoSender.java Mon Jun 16 15:16:02 2008
@@ -21,20 +21,14 @@
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
-import java.nio.ByteBuffer;
import org.apache.qpidity.transport.Sender;
-import org.apache.qpidity.transport.util.Logger;
public class IoSender implements Sender<java.nio.ByteBuffer>
{
private final Object lock = new Object();
private Socket _socket;
private OutputStream _outStream;
- private boolean _batch = false;
- private ByteBuffer _buffer;
-
- private static final Logger log = Logger.get(IoHandler.class);
public IoSender(Socket socket)
{
@@ -92,26 +86,17 @@
/*
* Haven't used this, but the intention is
- * to experiment with it yet.
+ * to experiment with it in the future.
* Also need to make sure the buffer size
* is configurable
*/
public void setStartBatching()
{
- _batch = true;
- try
- {
- _buffer = ByteBuffer.allocate(2048);
- }
- catch(Exception e)
- {
- throw new RuntimeException("Unable to set SO_SNDBUF due to socket error",e);
- }
}
public void close()
{
- synchronized (lock)
+ synchronized (lock)
{
try
{