Merge remote-tracking branch 'origin/copyByteBuffer'

This commit is contained in:
Greg Wilkins 2012-10-25 10:11:55 +11:00
commit 71d7c6ff08
1 changed files with 18 additions and 5 deletions

View File

@ -96,12 +96,12 @@ public class HttpTransportOverSPDY implements HttpTransport
}
}
boolean noContent = BufferUtil.isEmpty(content);
boolean close = noContent && lastContent;
boolean hasContent = !BufferUtil.isEmpty(content);
boolean close = !hasContent && lastContent;
reply(stream, new ReplyInfo(headers, close));
if (!noContent)
stream.data(new ByteBufferDataInfo(content, lastContent));
if (hasContent)
sendToStream(content, lastContent);
}
@Override
@ -111,7 +111,20 @@ public class HttpTransportOverSPDY implements HttpTransport
// TODO work out if we can avoid double calls for lastContent==true
if (stream.isClosed() && BufferUtil.isEmpty(content) && lastContent)
return;
stream.data(new ByteBufferDataInfo(content, lastContent));
sendToStream(content, lastContent);
}
private void sendToStream(ByteBuffer content, boolean lastContent)
{
try
{
stream.data(new ByteBufferDataInfo(content, lastContent)).get();
}
catch (Exception e)
{
endPoint.close();
}
}
@Override