Author: trustin
Date: Tue Jan 30 18:53:37 2007
New Revision: 501697
URL: http://svn.apache.org/viewvc?view=rev&rev=501697
Log:
Fixed issue: DIRMINA-345 (IoSession.readBufferSize becomes different from
Socket.receiveBufferSize when receiveBufferSize is configured too small.)
* Changed setReceiveBufferSize() to re-retrieve the effective buffer size
Modified:
mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java
mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java
Modified:
mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java
URL:
http://svn.apache.org/viewvc/mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java?view=diff&rev=501697&r1=501696&r2=501697
==============================================================================
---
mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java
(original)
+++
mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java
Tue Jan 30 18:53:37 2007
@@ -92,7 +92,6 @@
this.config.setKeepAlive( cfg.isKeepAlive() );
this.config.setOobInline( cfg.isOobInline() );
this.config.setReceiveBufferSize( cfg.getReceiveBufferSize() );
- this.readBufferSize = cfg.getReceiveBufferSize();
this.config.setReuseAddress( cfg.isReuseAddress() );
this.config.setSendBufferSize( cfg.getSendBufferSize() );
this.config.setSoLinger( cfg.getSoLinger() );
@@ -427,6 +426,8 @@
try
{
ch.socket().setReceiveBufferSize( size );
+ // Re-retrieve the effective receive buffer size.
+ size = ch.socket().getReceiveBufferSize();
SocketSessionImpl.this.readBufferSize = size;
}
catch( SocketException e )
Modified:
mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java
URL:
http://svn.apache.org/viewvc/mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java?view=diff&rev=501697&r1=501696&r2=501697
==============================================================================
---
mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java
(original)
+++
mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java
Tue Jan 30 18:53:37 2007
@@ -92,7 +92,6 @@
DatagramSessionConfig cfg = ( DatagramSessionConfig )
sessionConfig;
this.config.setBroadcast( cfg.isBroadcast() );
this.config.setReceiveBufferSize( cfg.getReceiveBufferSize() );
- this.readBufferSize = cfg.getReceiveBufferSize();
this.config.setReuseAddress( cfg.isReuseAddress() );
this.config.setSendBufferSize( cfg.getSendBufferSize() );
@@ -250,6 +249,8 @@
try
{
ch.socket().setReceiveBufferSize( receiveBufferSize );
+ // Re-retrieve the effective receive buffer size.
+ receiveBufferSize = ch.socket().getReceiveBufferSize();
DatagramSessionImpl.this.readBufferSize =
receiveBufferSize;
}
catch( SocketException e )
Modified:
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java
URL:
http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java?view=diff&rev=501697&r1=501696&r2=501697
==============================================================================
---
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java
(original)
+++
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java
Tue Jan 30 18:53:37 2007
@@ -94,7 +94,6 @@
this.config.setKeepAlive( cfg.isKeepAlive() );
this.config.setOobInline( cfg.isOobInline() );
this.config.setReceiveBufferSize( cfg.getReceiveBufferSize() );
- this.readBufferSize = cfg.getReceiveBufferSize();
this.config.setReuseAddress( cfg.isReuseAddress() );
this.config.setSendBufferSize( cfg.getSendBufferSize() );
this.config.setSoLinger( cfg.getSoLinger() );
@@ -440,6 +439,8 @@
try
{
ch.socket().setReceiveBufferSize( size );
+ // Re-retrieve the effective receive buffer size.
+ size = ch.socket().getReceiveBufferSize();
SocketSessionImpl.this.readBufferSize = size;
}
catch( SocketException e )
Modified:
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java
URL:
http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java?view=diff&rev=501697&r1=501696&r2=501697
==============================================================================
---
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java
(original)
+++
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java
Tue Jan 30 18:53:37 2007
@@ -94,7 +94,6 @@
DatagramSessionConfig cfg = ( DatagramSessionConfig )
sessionConfig;
this.config.setBroadcast( cfg.isBroadcast() );
this.config.setReceiveBufferSize( cfg.getReceiveBufferSize() );
- this.readBufferSize = cfg.getReceiveBufferSize();
this.config.setReuseAddress( cfg.isReuseAddress() );
this.config.setSendBufferSize( cfg.getSendBufferSize() );
@@ -260,6 +259,8 @@
try
{
ch.socket().setReceiveBufferSize( receiveBufferSize );
+ // Re-retrieve the effective receive buffer size.
+ receiveBufferSize = ch.socket().getReceiveBufferSize();
DatagramSessionImpl.this.readBufferSize =
receiveBufferSize;
}
catch( SocketException e )
Modified:
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java?view=diff&rev=501697&r1=501696&r2=501697
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/SocketSessionImpl.java
Tue Jan 30 18:53:37 2007
@@ -77,7 +77,6 @@
this.config.setKeepAlive( cfg.isKeepAlive() );
this.config.setOobInline( cfg.isOobInline() );
this.config.setReceiveBufferSize( cfg.getReceiveBufferSize() );
- this.readBufferSize = cfg.getReceiveBufferSize();
this.config.setReuseAddress( cfg.isReuseAddress() );
this.config.setSendBufferSize( cfg.getSendBufferSize() );
this.config.setSoLinger( cfg.getSoLinger() );
@@ -406,6 +405,8 @@
try
{
ch.socket().setReceiveBufferSize( size );
+ // Re-retrieve the effective receive buffer size.
+ size = ch.socket().getReceiveBufferSize();
SocketSessionImpl.this.readBufferSize = size;
}
catch( SocketException e )
Modified:
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java?view=diff&rev=501697&r1=501696&r2=501697
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/support/DatagramSessionImpl.java
Tue Jan 30 18:53:37 2007
@@ -110,7 +110,6 @@
DatagramSessionConfig cfg = ( DatagramSessionConfig )
sessionConfig;
this.config.setBroadcast( cfg.isBroadcast() );
this.config.setReceiveBufferSize( cfg.getReceiveBufferSize() );
- this.readBufferSize = cfg.getReceiveBufferSize();
this.config.setReuseAddress( cfg.isReuseAddress() );
this.config.setSendBufferSize( cfg.getSendBufferSize() );
@@ -261,6 +260,8 @@
try
{
ch.socket().setReceiveBufferSize( receiveBufferSize );
+ // Re-retrieve the effective receive buffer size.
+ receiveBufferSize = ch.socket().getReceiveBufferSize();
DatagramSessionImpl.this.readBufferSize =
receiveBufferSize;
}
catch( SocketException e )