You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rh...@apache.org on 2013/08/13 17:41:15 UTC
svn commit: r1513557 [2/2] - in /qpid/proton/trunk: proton-c/bindings/java/
proton-c/bindings/java/src/main/java/org/apache/qpid/proton/engine/jni/
proton-c/bindings/java/src/main/java/org/apache/qpid/proton/messenger/jni/
proton-c/bindings/python/ pro...
Modified: qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SimpleSslTransportWrapper.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SimpleSslTransportWrapper.java?rev=1513557&r1=1513556&r2=1513557&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SimpleSslTransportWrapper.java (original)
+++ qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SimpleSslTransportWrapper.java Tue Aug 13 15:41:14 2013
@@ -34,9 +34,8 @@ import javax.net.ssl.SSLEngineResult.Han
import javax.net.ssl.SSLEngineResult.Status;
import javax.net.ssl.SSLException;
+import org.apache.qpid.proton.engine.Transport;
import org.apache.qpid.proton.engine.TransportException;
-import org.apache.qpid.proton.engine.TransportResult;
-import org.apache.qpid.proton.engine.TransportResultFactory;
import org.apache.qpid.proton.engine.impl.TransportInput;
import org.apache.qpid.proton.engine.impl.TransportOutput;
@@ -53,9 +52,12 @@ public class SimpleSslTransportWrapper i
private final TransportInput _underlyingInput;
private final TransportOutput _underlyingOutput;
+ private boolean _tail_closed = false;
private final ByteBuffer _inputBuffer;
+ private boolean _head_closed = true;
private final ByteBuffer _outputBuffer;
+ private final ByteBuffer _head;
/**
* A buffer for the decoded bytes that will be passed to _underlyingInput.
@@ -73,13 +75,6 @@ public class SimpleSslTransportWrapper i
private String _protocolName;
- /**
- * We store the last input result so that we know not to process any more input
- * if it failed.
- */
- private TransportResult _lastInputResult = TransportResultFactory.ok();
-
-
SimpleSslTransportWrapper(ProtonSslEngine sslEngine, TransportInput underlyingInput, TransportOutput underlyingOutput)
{
_underlyingInput = underlyingInput;
@@ -93,6 +88,8 @@ public class SimpleSslTransportWrapper i
// as stated in SSLEngine JavaDoc.
_inputBuffer = newWriteableBuffer(packetSize);
_outputBuffer = newWriteableBuffer(packetSize);
+ _head = _outputBuffer.asReadOnlyBuffer();
+ _head.limit(0);
_decodedInputBuffer = newReadableBuffer(effectiveAppBufferMax);
@@ -111,11 +108,10 @@ public class SimpleSslTransportWrapper i
* - On exit, it is still readable and its "remaining" bytes are those that we were unable
* to unwrap (e.g. if they don't form a whole packet).
*/
- private TransportResult unwrapInput()
+ private void unwrapInput() throws TransportException
{
try
{
- TransportResult underlyingResult = TransportResultFactory.ok();
boolean keepLooping = true;
do
{
@@ -152,21 +148,19 @@ public class SimpleSslTransportWrapper i
_logger.warning("WARN unexpectedly produced bytes for the underlying input when handshaking");
}
- underlyingResult = pourAll(_decodedInputBuffer, _underlyingInput);
+ pourAll(_decodedInputBuffer, _underlyingInput);
}
keepLooping = handshakeStatus == HandshakeStatus.NOT_HANDSHAKING
- && sslResultStatus != Status.BUFFER_UNDERFLOW
- && underlyingResult.isOk();
+ && sslResultStatus != Status.BUFFER_UNDERFLOW;
}
while(keepLooping);
-
- return underlyingResult;
}
catch(SSLException e)
{
- return TransportResultFactory.error(new TransportException(
- "Problem during input. useClientMode: " + _sslEngine.getUseClientMode(), e));
+ throw new TransportException("Problem during input. useClientMode: "
+ + _sslEngine.getUseClientMode(),
+ e);
}
}
@@ -181,7 +175,14 @@ public class SimpleSslTransportWrapper i
boolean keepWrapping = hasSpaceForSslPacket(_outputBuffer);
while(keepWrapping)
{
- ByteBuffer clearOutputBuffer = _underlyingOutput.getOutputBuffer();
+ int pending = _underlyingOutput.pending();
+ if (pending == Transport.END_OF_STREAM)
+ {
+ _head_closed = true;
+ keepWrapping = false;
+ }
+
+ ByteBuffer clearOutputBuffer = _underlyingOutput.head();
try
{
if(clearOutputBuffer.hasRemaining())
@@ -218,7 +219,7 @@ public class SimpleSslTransportWrapper i
}
finally
{
- _underlyingOutput.outputConsumed();
+ _underlyingOutput.pop(clearOutputBuffer.position());
}
}
}
@@ -288,21 +289,35 @@ public class SimpleSslTransportWrapper i
}
@Override
- public ByteBuffer getInputBuffer()
+ public int capacity()
{
- _lastInputResult.checkIsOk();
+ if (_tail_closed) return Transport.END_OF_STREAM;
+ return _inputBuffer.remaining();
+ }
+
+ @Override
+ public ByteBuffer tail()
+ {
+ if (_tail_closed) throw new TransportException("tail closed");
return _inputBuffer;
}
@Override
- public TransportResult processInput()
+ public void process() throws TransportException
{
+ if (_tail_closed) throw new TransportException("tail closed");
+
_inputBuffer.flip();
try
{
- _lastInputResult = unwrapInput();
- return _lastInputResult;
+ unwrapInput();
+ }
+ catch (TransportException e)
+ {
+ _inputBuffer.position(_inputBuffer.limit());
+ _tail_closed = true;
+ throw e;
}
finally
{
@@ -310,31 +325,51 @@ public class SimpleSslTransportWrapper i
}
}
- /*
- * Pre-condition of {@link #_outputBuffer}: it's writeable
- * Post-condition of {@link #_outputBuffer}: it's readable
- */
@Override
- public ByteBuffer getOutputBuffer()
+ public void close_tail()
{
- wrapOutput();
- _outputBuffer.flip();
-
- _readOnlyOutputBufferView = _outputBuffer.asReadOnlyBuffer();
- return _readOnlyOutputBufferView;
+ try {
+ _underlyingInput.close_tail();
+ } finally {
+ _tail_closed = true;
+ }
}
@Override
- public void outputConsumed()
+ public int pending()
{
- if(_readOnlyOutputBufferView == null)
+ wrapOutput();
+ _head.limit(_outputBuffer.position());
+
+ if (_head_closed && _outputBuffer.position() == 0)
{
- throw new IllegalStateException("Illegal invocation with previously calling getOutputBuffer");
+ return Transport.END_OF_STREAM;
+ } else {
+ return _outputBuffer.position();
}
+ }
- _outputBuffer.position(_readOnlyOutputBufferView.position());
- _readOnlyOutputBufferView = null;
+ @Override
+ public ByteBuffer head()
+ {
+ pending();
+ return _head;
+ }
+
+ @Override
+ public void pop(int bytes)
+ {
+ _outputBuffer.flip();
+ _outputBuffer.position(bytes);
_outputBuffer.compact();
+ _head.position(0);
+ _head.limit(_outputBuffer.position());
+ }
+
+ @Override
+ public void close_head()
+ {
+ _underlyingOutput.close_head();
}
Modified: qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslHandshakeSniffingTransportWrapper.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslHandshakeSniffingTransportWrapper.java?rev=1513557&r1=1513556&r2=1513557&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslHandshakeSniffingTransportWrapper.java (original)
+++ qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslHandshakeSniffingTransportWrapper.java Tue Aug 13 15:41:14 2013
@@ -22,7 +22,8 @@ package org.apache.qpid.proton.engine.im
import java.nio.ByteBuffer;
-import org.apache.qpid.proton.engine.TransportResult;
+import org.apache.qpid.proton.engine.Transport;
+import org.apache.qpid.proton.engine.TransportException;
import org.apache.qpid.proton.engine.impl.TransportWrapper;
public class SslHandshakeSniffingTransportWrapper implements SslTransportWrapper
@@ -31,6 +32,8 @@ public class SslHandshakeSniffingTranspo
private final SslTransportWrapper _secureTransportWrapper;
private final TransportWrapper _plainTransportWrapper;
+ private boolean _tail_closed = false;
+ private boolean _head_closed = true;
private TransportWrapper _selectedTransportWrapper;
private final ByteBuffer _determinationBuffer = ByteBuffer.allocate(MINIMUM_LENGTH_FOR_DETERMINATION);
@@ -44,11 +47,25 @@ public class SslHandshakeSniffingTranspo
}
@Override
- public ByteBuffer getInputBuffer()
+ public int capacity()
{
if (isDeterminationMade())
{
- return _selectedTransportWrapper.getInputBuffer();
+ return _secureTransportWrapper.capacity();
+ }
+ else
+ {
+ if (_tail_closed) { return Transport.END_OF_STREAM; }
+ return _determinationBuffer.capacity();
+ }
+ }
+
+ @Override
+ public ByteBuffer tail()
+ {
+ if (isDeterminationMade())
+ {
+ return _selectedTransportWrapper.tail();
}
else
{
@@ -57,11 +74,11 @@ public class SslHandshakeSniffingTranspo
}
@Override
- public TransportResult processInput()
+ public void process() throws TransportException
{
if (isDeterminationMade())
{
- return _selectedTransportWrapper.processInput();
+ _selectedTransportWrapper.process();
}
else
{
@@ -72,25 +89,54 @@ public class SslHandshakeSniffingTranspo
_determinationBuffer.rewind();
// TODO what if the selected transport has insufficient capacity?? Maybe use pour, and then try to finish pouring next time round.
- _selectedTransportWrapper.getInputBuffer().put(_determinationBuffer);
- return _selectedTransportWrapper.processInput();
+ _selectedTransportWrapper.tail().put(_determinationBuffer);
+ _selectedTransportWrapper.process();
+ }
+ }
+
+ @Override
+ public void close_tail()
+ {
+ try {
+ if (isDeterminationMade())
+ {
+ _selectedTransportWrapper.close_tail();
+ }
+ } finally {
+ _tail_closed = true;
}
}
@Override
- public ByteBuffer getOutputBuffer()
+ public int pending()
{
+ if (_head_closed) { return Transport.END_OF_STREAM; }
makePlainUnlessDeterminationAlreadyMade();
- return _selectedTransportWrapper.getOutputBuffer();
+ return _selectedTransportWrapper.pending();
}
@Override
- public void outputConsumed()
+ public ByteBuffer head()
{
makePlainUnlessDeterminationAlreadyMade();
- _selectedTransportWrapper.outputConsumed();
+ return _selectedTransportWrapper.head();
+ }
+
+ @Override
+ public void pop(int bytes)
+ {
+ makePlainUnlessDeterminationAlreadyMade();
+
+ _selectedTransportWrapper.pop(bytes);
+ }
+
+ @Override
+ public void close_head()
+ {
+ makePlainUnlessDeterminationAlreadyMade();
+ _selectedTransportWrapper.close_head();
}
@Override
Modified: qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslImpl.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslImpl.java?rev=1513557&r1=1513556&r2=1513557&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslImpl.java (original)
+++ qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslImpl.java Tue Aug 13 15:41:14 2013
@@ -26,7 +26,7 @@ import org.apache.qpid.proton.ProtonUnsu
import org.apache.qpid.proton.engine.Ssl;
import org.apache.qpid.proton.engine.SslDomain;
import org.apache.qpid.proton.engine.SslPeerDetails;
-import org.apache.qpid.proton.engine.TransportResult;
+import org.apache.qpid.proton.engine.TransportException;
import org.apache.qpid.proton.engine.impl.TransportInput;
import org.apache.qpid.proton.engine.impl.TransportOutput;
import org.apache.qpid.proton.engine.impl.TransportWrapper;
@@ -100,32 +100,60 @@ public class SslImpl implements Ssl
}
@Override
- public ByteBuffer getInputBuffer()
+ public int capacity()
{
initTransportWrapperOnFirstIO();
- return _transportWrapper.getInputBuffer();
+ return _transportWrapper.capacity();
}
+ @Override
+ public ByteBuffer tail()
+ {
+ initTransportWrapperOnFirstIO();
+ return _transportWrapper.tail();
+ }
+
+
+ @Override
+ public void process() throws TransportException
+ {
+ initTransportWrapperOnFirstIO();
+ _transportWrapper.process();
+ }
+
+ @Override
+ public void close_tail()
+ {
+ initTransportWrapperOnFirstIO();
+ _transportWrapper.process();
+ }
+
+ @Override
+ public int pending()
+ {
+ initTransportWrapperOnFirstIO();
+ return _transportWrapper.pending();
+ }
@Override
- public TransportResult processInput()
+ public ByteBuffer head()
{
initTransportWrapperOnFirstIO();
- return _transportWrapper.processInput();
+ return _transportWrapper.head();
}
@Override
- public ByteBuffer getOutputBuffer()
+ public void pop(int bytes)
{
initTransportWrapperOnFirstIO();
- return _transportWrapper.getOutputBuffer();
+ _transportWrapper.pop(bytes);
}
@Override
- public void outputConsumed()
+ public void close_head()
{
initTransportWrapperOnFirstIO();
- _transportWrapper.outputConsumed();
+ _transportWrapper.close_head();
}
@Override
Modified: qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/messenger/impl/MessengerImpl.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/messenger/impl/MessengerImpl.java?rev=1513557&r1=1513556&r2=1513557&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/messenger/impl/MessengerImpl.java (original)
+++ qpid/proton/trunk/proton-j/proton/src/main/java/org/apache/qpid/proton/messenger/impl/MessengerImpl.java Tue Aug 13 15:41:14 2013
@@ -516,10 +516,6 @@ public class MessengerImpl implements Me
{
connection.close();
}
- else if (connection.getLocalState() == EndpointState.CLOSED)
- {
- c.close();
- }
}
if (c.isClosed())
@@ -564,27 +560,26 @@ public class MessengerImpl implements Me
{
processAllConnectors();
- //wait until timeout expires or until test is true
- long deadline = timeout < 0 ? Long.MAX_VALUE : System.currentTimeMillis() + timeout;
-
- boolean wait = deadline > System.currentTimeMillis();
- boolean first = true;
+ // wait until timeout expires or until test is true
+ long now = System.currentTimeMillis();
+ long deadline = timeout < 0 ? Long.MAX_VALUE : now + timeout;
boolean done = false;
- boolean woken = false;
- while (first || (!done && wait))
+ while (true)
{
- if (wait && !done && !first) {
- woken = _driver.doWait(timeout < 0 ? 0 : deadline - System.currentTimeMillis());
- }
+ done = condition.test();
+ long remaining = deadline - now;
+ if (done || (timeout >= 0 && remaining < 0)) break;
+ boolean woken = _driver.doWait(remaining);
processActive();
- wait = deadline > System.currentTimeMillis();
- done = done || woken || condition.test();
- first = false;
- }
- if (woken) {
- throw new InterruptException();
+ if (woken) {
+ throw new InterruptException();
+ }
+ if (timeout >= 0) {
+ now = System.currentTimeMillis();
+ }
}
+
return done;
}
Modified: qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/FrameParserTest.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/FrameParserTest.java?rev=1513557&r1=1513556&r2=1513557&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/FrameParserTest.java (original)
+++ qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/FrameParserTest.java Tue Aug 13 15:41:14 2013
@@ -23,6 +23,7 @@ import static org.apache.qpid.proton.eng
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertThat;
+import static org.junit.Assert.fail;
import static org.junit.matchers.JUnitMatchers.containsString;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.argThat;
@@ -76,68 +77,70 @@ public class FrameParserTest
@Test
public void testInputOfInvalidProtocolHeader_causesErrorAndRefusesFurtherInput()
{
- ByteBuffer buffer = _frameParser.getInputBuffer();
- buffer.put("hello".getBytes());
- TransportResult result = _frameParser.processInput();
-
String headerMismatchMessage = "AMQP header mismatch";
- assertThat(result.getErrorDescription(), containsString(headerMismatchMessage));
- assertEquals(Status.ERROR, result.getStatus());
+ ByteBuffer buffer = _frameParser.tail();
+ buffer.put("hello".getBytes());
+ try {
+ _frameParser.process();
+ fail("expected exception");
+ } catch (TransportException e) {
+ assertThat(e.getMessage(), containsString(headerMismatchMessage));
+ }
_expectedException.expect(TransportException.class);
_expectedException.expectMessage(headerMismatchMessage);
- _frameParser.getInputBuffer();
+ _frameParser.tail();
}
@Test
public void testInputOfValidProtocolHeader()
{
- ByteBuffer buffer = _frameParser.getInputBuffer();
+ ByteBuffer buffer = _frameParser.tail();
buffer.put(HEADER);
- _frameParser.processInput().checkIsOk();
+ _frameParser.process();
- assertNotNull(_frameParser.getInputBuffer());
+ assertNotNull(_frameParser.tail());
}
@Test
public void testInputOfValidProtocolHeaderInMultipleChunks()
{
{
- ByteBuffer buffer = _frameParser.getInputBuffer();
+ ByteBuffer buffer = _frameParser.tail();
buffer.put(HEADER, 0, 2);
- _frameParser.processInput().checkIsOk();
+ _frameParser.process();
}
{
- ByteBuffer buffer = _frameParser.getInputBuffer();
+ ByteBuffer buffer = _frameParser.tail();
buffer.put(HEADER, 2, HEADER.length - 2);
- _frameParser.processInput().checkIsOk();
+ _frameParser.process();
}
- assertNotNull(_frameParser.getInputBuffer());
+ assertNotNull(_frameParser.tail());
}
@Test
public void testInputOfValidFrame_invokesFrameTransportCallback()
{
- sendHeader().checkIsOk();
+ sendHeader();
// now send an open frame
- ByteBuffer buffer = _frameParser.getInputBuffer();
+ ByteBuffer buffer = _frameParser.tail();
Open openFrame = generateOpenFrame();
int channel = 0;
byte[] frame = _amqpFramer.generateFrame(channel, openFrame);
buffer.put(frame);
- _frameParser.processInput().checkIsOk();
+ _frameParser.process();
verify(_mockFrameHandler).handleFrame(frameMatching(channel, openFrame));
}
@Test
public void testInputOfFrameInMultipleChunks_invokesFrameTransportCallback()
{
- sendHeader().checkIsOk();
+ sendHeader();
Open openFrame = generateOpenFrame();
int channel = 0;
@@ -148,34 +151,34 @@ public class FrameParserTest
// send the first chunk
{
- ByteBuffer buffer = _frameParser.getInputBuffer();
+ ByteBuffer buffer = _frameParser.tail();
buffer.put(frame, 0, lengthOfFirstChunk);
- _frameParser.processInput().checkIsOk();
+ _frameParser.process();
verify(_mockFrameHandler, never()).handleFrame(any(TransportFrame.class));
}
// send the second chunk
{
- ByteBuffer buffer = _frameParser.getInputBuffer();
+ ByteBuffer buffer = _frameParser.tail();
int secondChunkOffset = lengthOfFirstChunk;
buffer.put(frame, secondChunkOffset, lengthOfSecondChunk);
- _frameParser.processInput().checkIsOk();
+ _frameParser.process();
verify(_mockFrameHandler, never()).handleFrame(any(TransportFrame.class));
}
// send the third and final chunk
{
- ByteBuffer buffer = _frameParser.getInputBuffer();
+ ByteBuffer buffer = _frameParser.tail();
int thirdChunkOffset = lengthOfFirstChunk + lengthOfSecondChunk;
buffer.put(frame, thirdChunkOffset, lengthOfThirdChunk);
- _frameParser.processInput().checkIsOk();
+ _frameParser.process();
verify(_mockFrameHandler).handleFrame(frameMatching(channel, openFrame));
}
}
@@ -183,7 +186,7 @@ public class FrameParserTest
@Test
public void testInputOfTwoFrames_invokesFrameTransportTwice()
{
- sendHeader().checkIsOk();
+ sendHeader();
int channel = 0;
Open openFrame = generateOpenFrame();
@@ -192,11 +195,11 @@ public class FrameParserTest
Close closeFrame = generateCloseFrame();
byte[] closeFrameBytes = _amqpFramer.generateFrame(channel, closeFrame);
- _frameParser.getInputBuffer()
+ _frameParser.tail()
.put(openFrameBytes)
.put(closeFrameBytes);
- _frameParser.processInput().checkIsOk();
+ _frameParser.process();
InOrder inOrder = inOrder(_mockFrameHandler);
inOrder.verify(_mockFrameHandler).handleFrame(frameMatching(channel, openFrame));
@@ -208,18 +211,18 @@ public class FrameParserTest
{
when(_mockFrameHandler.isHandlingFrames()).thenReturn(false);
- sendHeader().checkIsOk();
+ sendHeader();
// now send an open frame
int channel = 0;
Open openFrame = generateOpenFrame();
{
- ByteBuffer buffer = _frameParser.getInputBuffer();
+ ByteBuffer buffer = _frameParser.tail();
byte[] frame = _amqpFramer.generateFrame(channel, openFrame);
buffer.put(frame);
- _frameParser.processInput().checkIsOk();
+ _frameParser.process();
}
verify(_mockFrameHandler, never()).handleFrame(any(TransportFrame.class));
@@ -229,12 +232,12 @@ public class FrameParserTest
// now ensure that the held frame gets sent on second input
Close closeFrame = generateCloseFrame();
{
- ByteBuffer buffer = _frameParser.getInputBuffer();
+ ByteBuffer buffer = _frameParser.tail();
byte[] frame = _amqpFramer.generateFrame(channel, closeFrame);
buffer.put(frame);
- _frameParser.processInput().checkIsOk();
+ _frameParser.process();
}
InOrder inOrder = inOrder(_mockFrameHandler);
@@ -247,30 +250,30 @@ public class FrameParserTest
{
when(_mockFrameHandler.isHandlingFrames()).thenReturn(false);
- sendHeader().checkIsOk();
+ sendHeader();
// now send an open frame
int channel = 0;
Open openFrame = generateOpenFrame();
{
- ByteBuffer buffer = _frameParser.getInputBuffer();
+ ByteBuffer buffer = _frameParser.tail();
byte[] frame = _amqpFramer.generateFrame(channel, openFrame);
buffer.put(frame);
- _frameParser.processInput().checkIsOk();
+ _frameParser.process();
}
verify(_mockFrameHandler, never()).handleFrame(any(TransportFrame.class));
// now send a close frame
Close closeFrame = generateCloseFrame();
{
- ByteBuffer buffer = _frameParser.getInputBuffer();
+ ByteBuffer buffer = _frameParser.tail();
byte[] frame = _amqpFramer.generateFrame(channel, closeFrame);
buffer.put(frame);
- _frameParser.processInput().checkIsOk();
+ _frameParser.process();
}
verify(_mockFrameHandler, never()).handleFrame(any(TransportFrame.class));
@@ -283,11 +286,11 @@ public class FrameParserTest
inOrder.verify(_mockFrameHandler).handleFrame(frameMatching(channel, closeFrame));
}
- private TransportResult sendHeader()
+ private void sendHeader() throws TransportException
{
- ByteBuffer buffer = _frameParser.getInputBuffer();
+ ByteBuffer buffer = _frameParser.tail();
buffer.put(HEADER);
- return _frameParser.processInput();
+ _frameParser.process();
}
private Open generateOpenFrame()
Modified: qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/SaslFrameParserTest.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/SaslFrameParserTest.java?rev=1513557&r1=1513556&r2=1513557&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/SaslFrameParserTest.java (original)
+++ qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/SaslFrameParserTest.java Tue Aug 13 15:41:14 2013
@@ -35,8 +35,7 @@ import org.apache.qpid.proton.codec.Byte
import org.apache.qpid.proton.codec.DecodeException;
import org.apache.qpid.proton.codec.DecoderImpl;
import org.apache.qpid.proton.codec.EncoderImpl;
-import org.apache.qpid.proton.engine.TransportResult;
-import org.apache.qpid.proton.engine.TransportResult.Status;
+import org.apache.qpid.proton.engine.TransportException;
import org.junit.Test;
/**
@@ -73,8 +72,7 @@ public class SaslFrameParserTest
when(_mockSaslFrameHandler.isDone()).thenReturn(false);
- TransportResult result = _frameParser.input(_saslFrameBytes);
- result.checkIsOk();
+ _frameParser.input(_saslFrameBytes);
verify(_mockSaslFrameHandler).handle(isA(SaslInit.class), (Binary)isNull());
}
@@ -88,16 +86,22 @@ public class SaslFrameParserTest
when(_mockDecoder.readObject()).thenThrow(new DecodeException(exceptionMessage));
// We send a valid frame but the mock decoder has been configured to reject it
- TransportResult result = _frameParserWithMockDecoder.input(_saslFrameBytes);
-
- assertEquals(Status.ERROR, result.getStatus());
- assertThat(result.getErrorDescription(), containsString(exceptionMessage));
+ try {
+ _frameParserWithMockDecoder.input(_saslFrameBytes);
+ fail("expected exception");
+ } catch (TransportException e) {
+ assertThat(e.getMessage(), containsString(exceptionMessage));
+ }
verify(_mockSaslFrameHandler, never()).handle(any(SaslFrameBody.class), any(Binary.class));
// Check that any further interaction causes an error TransportResult.
- result = _frameParserWithMockDecoder.input(ByteBuffer.wrap("".getBytes()));
- assertEquals(Status.ERROR, result.getStatus());
+ try {
+ _frameParserWithMockDecoder.input(ByteBuffer.wrap("".getBytes()));
+ fail("expected exception");
+ } catch (TransportException e) {
+ // this is expected
+ }
}
@Test
@@ -109,21 +113,27 @@ public class SaslFrameParserTest
when(_mockDecoder.readObject()).thenReturn(nonSaslFrame);
// We send a valid frame but the mock decoder has been configured to reject it
- TransportResult result = _frameParserWithMockDecoder.input(_saslFrameBytes);
-
- assertEquals(Status.ERROR, result.getStatus());
- assertThat(result.getErrorDescription(), containsString("Unexpected frame type encountered."));
+ try {
+ _frameParserWithMockDecoder.input(_saslFrameBytes);
+ fail("expected exception");
+ } catch (TransportException e) {
+ assertThat(e.getMessage(), containsString("Unexpected frame type encountered."));
+ }
verify(_mockSaslFrameHandler, never()).handle(any(SaslFrameBody.class), any(Binary.class));
// Check that any further interaction causes an error TransportResult.
- result = _frameParserWithMockDecoder.input(ByteBuffer.wrap("".getBytes()));
- assertEquals(Status.ERROR, result.getStatus());
+ try {
+ _frameParserWithMockDecoder.input(ByteBuffer.wrap("".getBytes()));
+ fail("expected exception");
+ } catch (TransportException e) {
+ // this is expected
+ }
}
private void sendAmqpSaslHeader(SaslFrameParser saslFrameParser)
{
- saslFrameParser.input(ByteBuffer.wrap(AmqpHeader.SASL_HEADER)).checkIsOk();
+ saslFrameParser.input(ByteBuffer.wrap(AmqpHeader.SASL_HEADER));
}
}
Modified: qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/TransportImplTest.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/TransportImplTest.java?rev=1513557&r1=1513556&r2=1513557&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/TransportImplTest.java (original)
+++ qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/TransportImplTest.java Tue Aug 13 15:41:14 2013
@@ -63,10 +63,16 @@ public class TransportImplTest
}
@Test
- public void testUseOfProcessInputBeforeGetInputBuffer_causesIllegalStateException()
+ public void testInitialProcessIsNoop()
{
- _expectedException.expect(IllegalStateException.class);
- _transport.processInput();
+ _transport.process();
+ }
+
+ @Test
+ public void testProcessIsIdempotent()
+ {
+ _transport.process();
+ _transport.process();
}
/**
Modified: qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/TransportOutputAdaptorTest.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/TransportOutputAdaptorTest.java?rev=1513557&r1=1513556&r2=1513557&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/TransportOutputAdaptorTest.java (original)
+++ qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/TransportOutputAdaptorTest.java Tue Aug 13 15:41:14 2013
@@ -37,7 +37,7 @@ public class TransportOutputAdaptorTest
@Test
public void testThatOutputBufferIsReadOnly()
{
- assertTrue(_transportOutput.getOutputBuffer().isReadOnly());
+ assertTrue(_transportOutput.head().isReadOnly());
}
@Test
@@ -46,16 +46,17 @@ public class TransportOutputAdaptorTest
byte[] testBytes = "testbytes".getBytes();
_transportOutputWriter.setNextCannedOutput(testBytes);
- final ByteBuffer outputBuffer = _transportOutput.getOutputBuffer();
+ assertEquals(testBytes.length, _transportOutput.pending());
+ final ByteBuffer outputBuffer = _transportOutput.head();
assertEquals(testBytes.length, outputBuffer.remaining());
byte[] outputBytes = new byte[testBytes.length];
outputBuffer.get(outputBytes);
assertByteArrayContentEquals(testBytes, outputBytes);
- _transportOutput.outputConsumed();
+ _transportOutput.pop(outputBuffer.position());
- final ByteBuffer outputBuffer2 = _transportOutput.getOutputBuffer();
+ final ByteBuffer outputBuffer2 = _transportOutput.head();
assertEquals(0, outputBuffer2.remaining());
}
@@ -71,18 +72,18 @@ public class TransportOutputAdaptorTest
int chunk2Size = testBytes.length - chunk1Size;
{
- final ByteBuffer outputBuffer1 = _transportOutput.getOutputBuffer();
+ final ByteBuffer outputBuffer1 = _transportOutput.head();
byte[] byteArray1 = new byte[chunk1Size];
outputBuffer1.get(byteArray1);
assertEquals(chunk2Size, outputBuffer1.remaining());
assertByteArrayContentEquals(copyOfRange(testBytes, 0, chunk1Size), byteArray1);
- _transportOutput .outputConsumed();
+ _transportOutput.pop(outputBuffer1.position());
}
{
- final ByteBuffer outputBuffer2 = _transportOutput.getOutputBuffer();
+ final ByteBuffer outputBuffer2 = _transportOutput.head();
int chunk2Offset = chunk1Size;
assertByteBufferContentEquals(copyOfRange(testBytes, chunk2Offset, testBytes.length), outputBuffer2);
}
@@ -99,21 +100,21 @@ public class TransportOutputAdaptorTest
int initialRemaining = initialBytes.length - chunk1Size;
{
- final ByteBuffer outputBuffer1 = _transportOutput.getOutputBuffer();
+ final ByteBuffer outputBuffer1 = _transportOutput.head();
byte[] byteArray1 = new byte[chunk1Size];
outputBuffer1.get(byteArray1);
assertEquals(initialRemaining, outputBuffer1.remaining());
assertByteArrayContentEquals(copyOfRange(initialBytes, 0, chunk1Size), byteArray1);
- _transportOutput .outputConsumed();
+ _transportOutput.pop(outputBuffer1.position());
}
byte[] additionalBytes = "wxyz".getBytes();
_transportOutputWriter.setNextCannedOutput(additionalBytes);
{
- final ByteBuffer outputBuffer2 = _transportOutput.getOutputBuffer();
+ final ByteBuffer outputBuffer2 = _transportOutput.head();
byte[] expectedBytes = "cdwxyz".getBytes();
assertByteBufferContentEquals(expectedBytes, outputBuffer2);
@@ -122,10 +123,11 @@ public class TransportOutputAdaptorTest
private static final class CannedTransportOutputWriter implements TransportOutputWriter
{
+
byte[] _cannedOutput = new byte[0];
@Override
- public void writeInto(ByteBuffer outputBuffer)
+ public boolean writeInto(ByteBuffer outputBuffer)
{
int bytesWritten = ByteBufferUtils.pourArrayToBuffer(_cannedOutput, 0, _cannedOutput.length, outputBuffer);
if(bytesWritten < _cannedOutput.length)
@@ -133,11 +135,17 @@ public class TransportOutputAdaptorTest
fail("Unable to write all " + _cannedOutput.length + " bytes of my canned output to the provided output buffer: " + outputBuffer);
}
_cannedOutput = new byte[0];
+ return false;
}
void setNextCannedOutput(byte[] cannedOutput)
{
_cannedOutput = cannedOutput;
}
+
+ public void closed()
+ {
+ // do nothing
+ }
}
}
Modified: qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/CannedTransportOutput.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/CannedTransportOutput.java?rev=1513557&r1=1513556&r2=1513557&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/CannedTransportOutput.java (original)
+++ qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/CannedTransportOutput.java Tue Aug 13 15:41:14 2013
@@ -28,6 +28,7 @@ public class CannedTransportOutput imple
{
private ByteBuffer _cannedOutput;
+ private ByteBuffer _head;
public CannedTransportOutput()
{
@@ -41,18 +42,32 @@ public class CannedTransportOutput imple
public void setOutput(String output)
{
_cannedOutput = ByteBuffer.wrap(output.getBytes());
+ _head = _cannedOutput.asReadOnlyBuffer();
}
@Override
- public ByteBuffer getOutputBuffer()
+ public int pending()
{
- return _cannedOutput;
+ return _head.remaining();
}
@Override
- public void outputConsumed()
+ public ByteBuffer head()
{
- // no-op
+ return _head;
+ }
+
+ @Override
+ public void pop(int bytes)
+ {
+ _cannedOutput.position(bytes);
+ _head.position(bytes);
+ }
+
+ @Override
+ public void close_head()
+ {
+ // do nothing
}
Modified: qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/RememberingTransportInput.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/RememberingTransportInput.java?rev=1513557&r1=1513556&r2=1513557&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/RememberingTransportInput.java (original)
+++ qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/RememberingTransportInput.java Tue Aug 13 15:41:14 2013
@@ -22,16 +22,15 @@ package org.apache.qpid.proton.engine.im
import java.nio.ByteBuffer;
-import org.apache.qpid.proton.engine.TransportResult;
-import org.apache.qpid.proton.engine.TransportResultFactory;
+import org.apache.qpid.proton.engine.TransportException;
import org.apache.qpid.proton.engine.impl.TransportInput;
class RememberingTransportInput implements TransportInput
{
private StringBuilder _receivedInput = new StringBuilder();
- private ByteBuffer _buffer;
- private TransportResult _nextErrorResult;
+ private String _nextError;
private int _inputBufferSize = 1024;
+ private ByteBuffer _buffer = ByteBuffer.allocate(_inputBufferSize);
String getAcceptedInput()
{
@@ -45,30 +44,41 @@ class RememberingTransportInput implemen
}
@Override
- public ByteBuffer getInputBuffer()
+ public int capacity()
+ {
+ return _buffer.remaining();
+ }
+
+ @Override
+ public ByteBuffer tail()
{
- _buffer = ByteBuffer.allocate(_inputBufferSize);
return _buffer;
}
@Override
- public TransportResult processInput()
+ public void process() throws TransportException
{
- if(_nextErrorResult != null)
+ if(_nextError != null)
{
- return _nextErrorResult;
+ throw new TransportException(_nextError);
}
_buffer.flip();
byte[] receivedInputBuffer = new byte[_buffer.remaining()];
_buffer.get(receivedInputBuffer);
+ _buffer.compact();
_receivedInput.append(new String(receivedInputBuffer));
- return TransportResultFactory.ok();
}
- public void rejectNextInput(TransportResult nextErrorResult)
+ @Override
+ public void close_tail()
+ {
+ // do nothing
+ }
+
+ public void rejectNextInput(String nextError)
{
- _nextErrorResult = nextErrorResult;
+ _nextError = nextError;
}
public void setInputBufferSize(int inputBufferSize)
Modified: qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/SimpleSslTransportWrapperTest.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/SimpleSslTransportWrapperTest.java?rev=1513557&r1=1513556&r2=1513557&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/SimpleSslTransportWrapperTest.java (original)
+++ qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/SimpleSslTransportWrapperTest.java Tue Aug 13 15:41:14 2013
@@ -26,14 +26,13 @@ import static org.junit.Assert.assertEqu
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
import java.nio.ByteBuffer;
import javax.net.ssl.SSLException;
import org.apache.qpid.proton.engine.TransportException;
-import org.apache.qpid.proton.engine.TransportResult;
-import org.apache.qpid.proton.engine.TransportResultFactory;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
@@ -132,36 +131,40 @@ public class SimpleSslTransportWrapperTe
SSLException sslException = new SSLException("unwrap exception");
_dummySslEngine.rejectNextEncodedPacket(sslException);
- _sslWrapper.getInputBuffer().put("<-A->".getBytes());
- TransportResult result = _sslWrapper.processInput();
- assertEquals(TransportResult.Status.ERROR, result.getStatus());
- assertSame(sslException, result.getException().getCause());
- assertEquals("", _underlyingInput.getAcceptedInput());
+ _sslWrapper.tail().put("<-A->".getBytes());
+ try {
+ _sslWrapper.process();
+ fail("no exception");
+ } catch (TransportException e) {
+ assertSame(sslException, e.getCause());
+ assertEquals("", _underlyingInput.getAcceptedInput());
+ }
_expectedException.expect(TransportException.class);
- _sslWrapper.getInputBuffer();
+ _sslWrapper.tail();
}
@Test
public void testUnderlyingInputReturnsErrorResult_returnsErrorResultAndRefusesFurtherInput() throws Exception
{
String underlyingErrorDescription = "dummy underlying error";
- TransportResult underlyingErrorResult = TransportResultFactory.error(underlyingErrorDescription);
- _underlyingInput.rejectNextInput(underlyingErrorResult);
-
- _sslWrapper.getInputBuffer().put("<-A->".getBytes());
+ _underlyingInput.rejectNextInput(underlyingErrorDescription);
- TransportResult result = _sslWrapper.processInput();
+ _sslWrapper.tail().put("<-A->".getBytes());
- assertEquals(TransportResult.Status.ERROR, result.getStatus());
- assertEquals(underlyingErrorDescription, result.getErrorDescription());
+ try {
+ _sslWrapper.process();
+ fail("no exception");
+ } catch (TransportException e) {
+ assertEquals(underlyingErrorDescription, e.getMessage());
+ }
}
@Test
- public void testGetOutputBufferIsReadOnly()
+ public void testHeadIsReadOnly()
{
_underlyingOutput.setOutput("");
- assertTrue(_sslWrapper.getOutputBuffer().isReadOnly());
+ assertTrue(_sslWrapper.head().isReadOnly());
}
@Test
@@ -169,7 +172,7 @@ public class SimpleSslTransportWrapperTe
{
_underlyingOutput.setOutput("a_");
- ByteBuffer outputBuffer = _sslWrapper.getOutputBuffer();
+ ByteBuffer outputBuffer = _sslWrapper.head();
assertByteBufferContentEquals("<-A->".getBytes(), outputBuffer);
}
@@ -196,17 +199,17 @@ public class SimpleSslTransportWrapperTe
_underlyingOutput.setOutput("a_b_");
{
- ByteBuffer buffer = _sslWrapper.getOutputBuffer();
+ ByteBuffer buffer = _sslWrapper.head();
String output = pourBufferToString(buffer, 2);
assertEquals("<-", output);
- _sslWrapper.outputConsumed();
+ _sslWrapper.pop(buffer.position());
}
{
- ByteBuffer buffer = _sslWrapper.getOutputBuffer();
+ ByteBuffer buffer = _sslWrapper.head();
String output = pourBufferToString(buffer, 3);
assertEquals("A->", output);
- _sslWrapper.outputConsumed();
+ _sslWrapper.pop(buffer.position());
}
assertEquals("<-B->", getAllBytesFromTransport());
@@ -217,7 +220,7 @@ public class SimpleSslTransportWrapperTe
{
_underlyingOutput.setOutput("");
- assertFalse(_sslWrapper.getOutputBuffer().hasRemaining());
+ assertFalse(_sslWrapper.head().hasRemaining());
}
private void putBytesIntoTransport(String encodedBytes)
@@ -225,10 +228,10 @@ public class SimpleSslTransportWrapperTe
ByteBuffer byteBuffer = ByteBuffer.wrap(encodedBytes.getBytes());
while(byteBuffer.hasRemaining())
{
- int numberPoured = pour(byteBuffer, _sslWrapper.getInputBuffer());
+ int numberPoured = pour(byteBuffer, _sslWrapper.tail());
assertTrue("We should be able to pour some bytes into the input buffer",
numberPoured > 0);
- _sslWrapper.processInput().checkIsOk();
+ _sslWrapper.process();
}
}
@@ -238,12 +241,12 @@ public class SimpleSslTransportWrapperTe
boolean continueLooping;
do
{
- ByteBuffer buffer = _sslWrapper.getOutputBuffer();
+ ByteBuffer buffer = _sslWrapper.head();
continueLooping = buffer.hasRemaining();
readBytes.append(pourBufferToString(buffer));
- _sslWrapper.outputConsumed();
+ _sslWrapper.pop(buffer.position());
}
while(continueLooping);
Modified: qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/SslHandshakeSniffingTransportWrapperTest.java
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/SslHandshakeSniffingTransportWrapperTest.java?rev=1513557&r1=1513556&r2=1513557&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/SslHandshakeSniffingTransportWrapperTest.java (original)
+++ qpid/proton/trunk/proton-j/proton/src/test/java/org/apache/qpid/proton/engine/impl/ssl/SslHandshakeSniffingTransportWrapperTest.java Tue Aug 13 15:41:14 2013
@@ -72,28 +72,29 @@ public class SslHandshakeSniffingTranspo
ByteBuffer underlyingOutputBuffer = ByteBuffer.wrap(output);
// set up underlying transport
- when(transportThatShouldBeUsed.getInputBuffer()).thenReturn(underlyingInputBuffer);
- when(transportThatShouldBeUsed.getOutputBuffer()).thenReturn(underlyingOutputBuffer);
+ when(transportThatShouldBeUsed.tail()).thenReturn(underlyingInputBuffer);
+ when(transportThatShouldBeUsed.head()).thenReturn(underlyingOutputBuffer);
// do input and verify underlying calls were made
- ByteBuffer inputBuffer = _sniffingWrapper.getInputBuffer();
+ ByteBuffer inputBuffer = _sniffingWrapper.tail();
inputBuffer.put(input);
- _sniffingWrapper.processInput();
+ _sniffingWrapper.process();
- verify(transportThatShouldBeUsed).getInputBuffer();
- verify(transportThatShouldBeUsed).processInput();
+ verify(transportThatShouldBeUsed).tail();
+ verify(transportThatShouldBeUsed).process();
// check the wrapped input actually received the expected bytes
underlyingInputBuffer.flip();
assertByteBufferContentEquals(input, underlyingInputBuffer);
// do output and check we get the correct transport's output
- ByteBuffer outputBuffer = _sniffingWrapper.getOutputBuffer();
- verify(transportThatShouldBeUsed).getOutputBuffer();
+ ByteBuffer outputBuffer = _sniffingWrapper.head();
+ verify(transportThatShouldBeUsed).head();
assertByteBufferContentEquals(output, outputBuffer);
- _sniffingWrapper.outputConsumed();
- verify(transportThatShouldBeUsed).outputConsumed();
+ int consumed = outputBuffer.position();
+ _sniffingWrapper.pop(consumed);
+ verify(transportThatShouldBeUsed).pop(consumed);
verifyZeroInteractionsWithOtherTransport(transportThatShouldBeUsed);
}
@@ -105,10 +106,10 @@ public class SslHandshakeSniffingTranspo
try
{
- _sniffingWrapper.getInputBuffer().put(sourceBuffer);
+ _sniffingWrapper.tail().put(sourceBuffer);
_expectedException.expect(IllegalArgumentException.class);
- _sniffingWrapper.processInput();
+ _sniffingWrapper.process();
}
finally
{
@@ -150,10 +151,10 @@ public class SslHandshakeSniffingTranspo
String expectedCipherName, String expectedProtocolName)
{
ByteBuffer underlyingInputBuffer = ByteBuffer.allocate(1024);
- when(transportThatShouldBeUsed.getInputBuffer()).thenReturn(underlyingInputBuffer);
+ when(transportThatShouldBeUsed.tail()).thenReturn(underlyingInputBuffer);
- _sniffingWrapper.getInputBuffer().put(input);
- _sniffingWrapper.processInput();
+ _sniffingWrapper.tail().put(input);
+ _sniffingWrapper.process();
assertEquals(expectedCipherName, _sniffingWrapper.getCipherName());
assertEquals(expectedProtocolName, _sniffingWrapper.getProtocolName());
Modified: qpid/proton/trunk/tests/python/proton_tests/messenger.py
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/tests/python/proton_tests/messenger.py?rev=1513557&r1=1513556&r2=1513557&view=diff
==============================================================================
--- qpid/proton/trunk/tests/python/proton_tests/messenger.py (original)
+++ qpid/proton/trunk/tests/python/proton_tests/messenger.py Tue Aug 13 15:41:14 2013
@@ -233,6 +233,7 @@ class MessengerTest(Test):
def reject_individual(self, msg):
if self.server.incoming < 10:
+ self.server.work(0)
return
while self.server.incoming:
t = self.server.get(msg)
Modified: qpid/proton/trunk/tests/python/proton_tests/sasl.py
URL: http://svn.apache.org/viewvc/qpid/proton/trunk/tests/python/proton_tests/sasl.py?rev=1513557&r1=1513556&r2=1513557&view=diff
==============================================================================
--- qpid/proton/trunk/tests/python/proton_tests/sasl.py (original)
+++ qpid/proton/trunk/tests/python/proton_tests/sasl.py Tue Aug 13 15:41:14 2013
@@ -167,5 +167,4 @@ class SaslTest(Test):
while out:
out = self.t1.output(1024)
- assert self.s1.outcome == SASL.OK
-
+ assert self.s1.outcome == SASL.OK, self.s1.outcome
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org