Skip to content

Commit 9c99fb8

Browse files
committed
Split NpgsqlBuffer into ReadBuffer and WriteBuffer
With async writing for multistatement commands, we will now be writing at the same time as reading. Each connector now has totally separate ReadBuffer and WriteBuffer.
1 parent 34f80e7 commit 9c99fb8

86 files changed

Lines changed: 1192 additions & 1065 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/Npgsql/BackendMessages/AuthenticationMessages.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ internal class AuthenticationMD5PasswordMessage : AuthenticationRequestMessage
6565

6666
internal byte[] Salt { get; private set; }
6767

68-
internal static AuthenticationMD5PasswordMessage Load(NpgsqlBuffer buf)
68+
internal static AuthenticationMD5PasswordMessage Load(ReadBuffer buf)
6969
{
7070
var salt = new byte[4];
7171
buf.ReadBytes(salt, 0, 4);
@@ -100,7 +100,7 @@ internal class AuthenticationGSSContinueMessage : AuthenticationRequestMessage
100100

101101
internal byte[] AuthenticationData { get; private set; }
102102

103-
internal static AuthenticationGSSContinueMessage Load(NpgsqlBuffer buf, int len)
103+
internal static AuthenticationGSSContinueMessage Load(ReadBuffer buf, int len)
104104
{
105105
len -= 4; // The AuthRequestType code
106106
var authenticationData = new byte[len];

src/Npgsql/BackendMessages/BackendKeyDataMessage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ internal class BackendKeyDataMessage : IBackendMessage
3535
internal int BackendProcessId { get; private set; }
3636
internal int BackendSecretKey { get; private set; }
3737

38-
internal BackendKeyDataMessage(NpgsqlBuffer buf)
38+
internal BackendKeyDataMessage(ReadBuffer buf)
3939
{
4040
BackendProcessId = buf.ReadInt32();
4141
BackendSecretKey = buf.ReadInt32();

src/Npgsql/BackendMessages/CommandCompleteMessage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ internal class CommandCompleteMessage : IBackendMessage
3737

3838
static readonly NpgsqlLogger Log = NpgsqlLogManager.GetCurrentClassLogger();
3939

40-
internal CommandCompleteMessage Load(NpgsqlBuffer buf, int len)
40+
internal CommandCompleteMessage Load(ReadBuffer buf, int len)
4141
{
4242
Rows = 0;
4343
OID = 0;

src/Npgsql/BackendMessages/CopyMessages.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ internal CopyResponseMessageBase()
4141
ColumnFormatCodes = new List<FormatCode>();
4242
}
4343

44-
internal void Load(NpgsqlBuffer buf)
44+
internal void Load(ReadBuffer buf)
4545
{
4646
ColumnFormatCodes.Clear();
4747

@@ -67,7 +67,7 @@ class CopyInResponseMessage : CopyResponseMessageBase
6767
{
6868
public override BackendMessageCode Code => BackendMessageCode.CopyInResponse;
6969

70-
internal new CopyInResponseMessage Load(NpgsqlBuffer buf)
70+
internal new CopyInResponseMessage Load(ReadBuffer buf)
7171
{
7272
base.Load(buf);
7373
return this;
@@ -78,7 +78,7 @@ class CopyOutResponseMessage : CopyResponseMessageBase
7878
{
7979
public override BackendMessageCode Code => BackendMessageCode.CopyOutResponse;
8080

81-
internal new CopyOutResponseMessage Load(NpgsqlBuffer buf)
81+
internal new CopyOutResponseMessage Load(ReadBuffer buf)
8282
{
8383
base.Load(buf);
8484
return this;
@@ -89,7 +89,7 @@ class CopyBothResponseMessage : CopyResponseMessageBase
8989
{
9090
public override BackendMessageCode Code => BackendMessageCode.CopyBothResponse;
9191

92-
internal new CopyBothResponseMessage Load(NpgsqlBuffer buf)
92+
internal new CopyBothResponseMessage Load(ReadBuffer buf)
9393
{
9494
base.Load(buf);
9595
return this;
@@ -124,7 +124,7 @@ class CopyDoneMessage : SimpleFrontendMessage, IBackendMessage
124124

125125
internal override int Length => 5;
126126

127-
internal override void WriteFully(NpgsqlBuffer buf)
127+
internal override void WriteFully(WriteBuffer buf)
128128
{
129129
buf.WriteByte((byte)BackendMessageCode.CopyDone);
130130
buf.WriteInt32(4);

src/Npgsql/BackendMessages/DataRowMessage.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ abstract class DataRowMessage : IBackendMessage
3737
{
3838
public BackendMessageCode Code => BackendMessageCode.DataRow;
3939

40-
protected internal NpgsqlBuffer Buffer { get; protected set; }
40+
protected internal ReadBuffer Buffer { get; protected set; }
4141

4242
/// <summary>
4343
/// The number of columns in the current row
@@ -64,7 +64,7 @@ abstract class DataRowMessage : IBackendMessage
6464

6565
internal bool IsColumnNull => ColumnLen == -1;
6666

67-
internal abstract DataRowMessage Load(NpgsqlBuffer buf);
67+
internal abstract DataRowMessage Load(ReadBuffer buf);
6868

6969
/// <summary>
7070
/// Places our position at the beginning of the given column, after the 4-byte length.

src/Npgsql/BackendMessages/DataRowNonSequentialMessage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class DataRowNonSequentialMessage : DataRowMessage
4040
/// </summary>
4141
List<IDisposable> _streams;
4242

43-
internal override DataRowMessage Load(NpgsqlBuffer buf)
43+
internal override DataRowMessage Load(ReadBuffer buf)
4444
{
4545
NumColumns = buf.ReadInt16();
4646
Buffer = buf;

src/Npgsql/BackendMessages/DataRowSequentialMessage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ partial class DataRowSequentialMessage : DataRowMessage
4141
/// </summary>
4242
IDisposable _stream;
4343

44-
internal override DataRowMessage Load(NpgsqlBuffer buf)
44+
internal override DataRowMessage Load(ReadBuffer buf)
4545
{
4646
buf.Ensure(sizeof(short));
4747
NumColumns = buf.ReadInt16();

src/Npgsql/BackendMessages/ErrorOrNoticeMessage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ class ErrorOrNoticeMessage
5656
internal string Routine { get; private set; }
5757

5858
// ReSharper disable once FunctionComplexityOverflow
59-
internal ErrorOrNoticeMessage(NpgsqlBuffer buf)
59+
internal ErrorOrNoticeMessage(ReadBuffer buf)
6060
{
6161
while (true)
6262
{

src/Npgsql/BackendMessages/ParameterDescriptionMessage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ internal ParameterDescriptionMessage()
3737
TypeOIDs = new List<uint>();
3838
}
3939

40-
internal ParameterDescriptionMessage Load(NpgsqlBuffer buf)
40+
internal ParameterDescriptionMessage Load(ReadBuffer buf)
4141
{
4242
var numParams = buf.ReadInt16();
4343
TypeOIDs.Clear();

src/Npgsql/BackendMessages/ReadyForQueryMessage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ internal class ReadyForQueryMessage : IBackendMessage
3434

3535
internal TransactionStatus TransactionStatusIndicator { get; private set; }
3636

37-
internal ReadyForQueryMessage Load(NpgsqlBuffer buf) {
37+
internal ReadyForQueryMessage Load(ReadBuffer buf) {
3838
TransactionStatusIndicator = (TransactionStatus)buf.ReadByte();
3939
return this;
4040
}

0 commit comments

Comments
 (0)