You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by bl...@apache.org on 2004/12/06 19:50:33 UTC
svn commit: r110005 - /incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/input/ConnectSource.java /incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/input/test/TestConnectSource.java
Author: bloritsch
Date: Mon Dec 6 10:50:32 2004
New Revision: 110005
URL: http://svn.apache.org/viewcvs?view=rev&rev=110005
Log:
Did not add the all important "select()" method call...
Modified:
incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/input/ConnectSource.java
incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/input/test/TestConnectSource.java
Modified: incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/input/ConnectSource.java
Url: http://svn.apache.org/viewcvs/incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/input/ConnectSource.java?view=diff&rev=110005&p1=incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/input/ConnectSource.java&r1=110004&p2=incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/input/ConnectSource.java&r2=110005
==============================================================================
--- incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/input/ConnectSource.java (original)
+++ incubator/directory/seda/branches/berin_api_proposal/src/java/org/apache/directory/seda/input/ConnectSource.java Mon Dec 6 10:50:32 2004
@@ -35,25 +35,37 @@
public class ConnectSource implements Source
{
private Selector m_selector;
+ private long m_timeout;
public ConnectSource() throws IOException
{
m_selector = Selector.open();
+ m_timeout = 1L;
}
public void setTimeout( final long timeout )
{
+ m_timeout = timeout;
}
public Object dequeue()
{
- final Iterator keys = m_selector.selectedKeys().iterator();
Object key = null;
- if ( keys.hasNext() )
+ try
+ {
+ m_selector.select(m_timeout);
+ final Iterator keys = m_selector.selectedKeys().iterator();
+
+ if ( keys.hasNext() )
+ {
+ key = keys.next();
+ keys.remove();
+ }
+ }
+ catch ( IOException e )
{
- key = keys.next();
- keys.remove();
+ e.printStackTrace();
}
return key;
@@ -63,11 +75,20 @@
{
final List keys = new ArrayList();
- final Iterator set = m_selector.selectedKeys().iterator();
- while( set.hasNext() )
+ try
+ {
+ m_selector.select(m_timeout);
+
+ final Iterator set = m_selector.selectedKeys().iterator();
+ while( set.hasNext() )
+ {
+ keys.add( set.next() );
+ set.remove();
+ }
+ }
+ catch ( IOException e )
{
- keys.add( set.next() );
- set.remove();
+ e.printStackTrace();
}
return keys.toArray();
@@ -75,13 +96,22 @@
public Object[] dequeue( final int numElements )
{
- final List keys = new ArrayList(numElements);
+ final List keys = new ArrayList();
+
+ try
+ {
+ m_selector.select(m_timeout);
- final Iterator set = m_selector.selectedKeys().iterator();
- for( int i = 0; i < numElements && set.hasNext(); i++ )
+ final Iterator set = m_selector.selectedKeys().iterator();
+ for( int i = 0; i < numElements && set.hasNext(); i++ )
+ {
+ keys.add( set.next() );
+ set.remove();
+ }
+ }
+ catch ( IOException e )
{
- keys.add( set.next() );
- set.remove();
+ e.printStackTrace();
}
return keys.toArray();
@@ -91,10 +121,11 @@
{
try
{
- return m_selector.select( 0 );
+ return m_selector.select( m_timeout );
}
catch ( IOException e )
{
+ e.printStackTrace();
return 0;
}
}
Modified: incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/input/test/TestConnectSource.java
Url: http://svn.apache.org/viewcvs/incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/input/test/TestConnectSource.java?view=diff&rev=110005&p1=incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/input/test/TestConnectSource.java&r1=110004&p2=incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/input/test/TestConnectSource.java&r2=110005
==============================================================================
--- incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/input/test/TestConnectSource.java (original)
+++ incubator/directory/seda/branches/berin_api_proposal/src/test/org/apache/directory/seda/input/test/TestConnectSource.java Mon Dec 6 10:50:32 2004
@@ -87,16 +87,11 @@
m_clientChannel.connect( new InetSocketAddress(InetAddress.getLocalHost(), PORT) );
final Object key;
- System.out.println(m_clientChannel.isConnectionPending());
- System.out.println(m_clientChannel.isConnected());
-
key = m_source.dequeue();
assertNotNull( key );
assertTrue( key instanceof SelectionKey );
assertEquals( m_channel, ((SelectionKey)key).channel() );
-
- assertTrue(m_clientChannel.isConnected());
}
public void testDequeue_many() throws IOException
@@ -132,7 +127,7 @@
final Socket client = new Socket(InetAddress.getLocalHost(), PORT);
assertTrue(client.isConnected());
- m_source.setTimeout( 1L ); // does nothing
+ m_source.setTimeout( 10L );
assertEquals( 1, m_source.size() );
m_source.dequeueAll();