Skip to content

Commit

Permalink
#11965 make EMPTY_BUFFER not read-only anymore
Browse files Browse the repository at this point in the history
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
  • Loading branch information
lorban committed Jul 4, 2024
1 parent cf7feb4 commit c3b7db2
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public void onFillable()
// There are no bytes in the endPoint, so we fill zero.
// However, this will trigger state changes in SSLEngine
// that will later cause it to throw ISE("Internal error").
sslEndPoint.fill(BufferUtil.EMPTY_WRITABLE_BUFFER);
sslEndPoint.fill(BufferUtil.EMPTY_BUFFER);

// Close the connection before filling.
sslEndPoint.shutdownOutput();
Expand All @@ -76,6 +76,6 @@ public void onFillable()
// We want SSLHandshakeException to be thrown instead, because it is
// handled better (it is an IOException) by the Connection code that
// reads from the EndPoint.
assertThrows(SSLHandshakeException.class, () -> sslEndPoint.fill(BufferUtil.EMPTY_WRITABLE_BUFFER));
assertThrows(SSLHandshakeException.class, () -> sslEndPoint.fill(BufferUtil.EMPTY_BUFFER));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ private int fill()
{
try
{
return getEndPoint().fill(BufferUtil.EMPTY_WRITABLE_BUFFER);
return getEndPoint().fill(BufferUtil.EMPTY_BUFFER);
}
catch (IOException x)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -580,7 +580,7 @@ protected void onFillable()
waitingForFill = _flushState == FlushState.WAIT_FOR_FILL;
}
if (waitingForFill)
fill(BufferUtil.EMPTY_WRITABLE_BUFFER);
fill(BufferUtil.EMPTY_BUFFER);
}
}
catch (Throwable e)
Expand Down Expand Up @@ -1080,7 +1080,7 @@ public boolean flush(ByteBuffer... appOuts) throws IOException
break;
if (_fillState == FillState.IDLE)
{
int filled = fill(BufferUtil.EMPTY_WRITABLE_BUFFER);
int filled = fill(BufferUtil.EMPTY_BUFFER);
if (_sslEngine.getHandshakeStatus() != status)
continue;
if (filled < 0)
Expand Down Expand Up @@ -1270,7 +1270,7 @@ protected void onIncompleteFlush()
// Try filling ourselves
try
{
int filled = fill(BufferUtil.EMPTY_WRITABLE_BUFFER);
int filled = fill(BufferUtil.EMPTY_BUFFER);
// If this changed the status, let's try again
if (_sslEngine.getHandshakeStatus() != status)
continue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ public boolean onReadable()
// Check if the stream was finished normally.
try
{
fill(BufferUtil.EMPTY_WRITABLE_BUFFER);
fill(BufferUtil.EMPTY_BUFFER);
}
catch (EOFException x)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ private int fill()
{
try
{
return getEndPoint().fill(BufferUtil.EMPTY_WRITABLE_BUFFER);
return getEndPoint().fill(BufferUtil.EMPTY_BUFFER);
}
catch (IOException x)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,7 @@ public class BufferUtil
};

public static final byte[] EMPTY_BYTES = new byte[0];
public static final ByteBuffer EMPTY_WRITABLE_BUFFER = ByteBuffer.wrap(EMPTY_BYTES);
public static final ByteBuffer EMPTY_BUFFER = EMPTY_WRITABLE_BUFFER.asReadOnlyBuffer();
public static final ByteBuffer EMPTY_BUFFER = ByteBuffer.wrap(EMPTY_BYTES);

/**
* Allocate ByteBuffer in flush mode.
Expand Down

0 comments on commit c3b7db2

Please sign in to comment.