Skip to content

Commit d37f6a3

Browse files
committed
Simplify IMessageEncoder and related interfaces.
1 parent 729730a commit d37f6a3

36 files changed

+97
-174
lines changed

src/MongoDB.Driver.Core.Tests/Core/Helpers/MessageHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ private static List<RequestMessage> TranslateBytesToRequests(byte[] bytes)
152152
switch (opCode)
153153
{
154154
case Opcode.Query:
155-
requests.Add(encoderFactory.GetQueryMessageEncoder().ReadMessage());
155+
requests.Add((RequestMessage)encoderFactory.GetQueryMessageEncoder().ReadMessage());
156156
break;
157157
default:
158158
throw new InvalidOperationException("Unsupported request type.");

src/MongoDB.Driver.Core.Tests/Core/WireProtocol/Messages/DeleteMessageTests.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,14 @@ public void Constructor_with_null_query_should_throw()
5858
[Test]
5959
public void GetEncoder_should_return_encoder()
6060
{
61-
var mockEncoder = Substitute.For<IMessageEncoder<DeleteMessage>>();
62-
var mockEncoderFactory = Substitute.For<IMessageEncoderFactory>();
63-
mockEncoderFactory.GetDeleteMessageEncoder().Returns(mockEncoder);
64-
6561
var subject = new DeleteMessage(1, _collectionNamespace, new BsonDocument("x", 1), true);
66-
var encoder = subject.GetEncoder(mockEncoderFactory);
67-
encoder.Should().BeSameAs(mockEncoder);
62+
var stubEncoderFactory = Substitute.For<IMessageEncoderFactory>();
63+
var stubEncoder = Substitute.For<IMessageEncoder>();
64+
stubEncoderFactory.GetDeleteMessageEncoder().Returns(stubEncoder);
65+
66+
var result = subject.GetEncoder(stubEncoderFactory);
67+
68+
result.Should().BeSameAs(stubEncoder);
6869
}
6970
}
7071
}

src/MongoDB.Driver.Core.Tests/Core/WireProtocol/Messages/GetMoreMessageTests.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,14 @@ public void Constructor_with_null_collectionNamespace_should_throw()
5858
[Test]
5959
public void GetEncoder_should_return_encoder()
6060
{
61-
var mockEncoder = Substitute.For<IMessageEncoder<GetMoreMessage>>();
62-
var mockEncoderFactory = Substitute.For<IMessageEncoderFactory>();
63-
mockEncoderFactory.GetGetMoreMessageEncoder().Returns(mockEncoder);
64-
6561
var subject = new GetMoreMessage(_requestId, _collectionNamespace, _cursorId, _batchSize);
66-
var encoder = subject.GetEncoder(mockEncoderFactory);
67-
encoder.Should().BeSameAs(mockEncoder);
62+
var stubEncoderFactory = Substitute.For<IMessageEncoderFactory>();
63+
var stubEncoder = Substitute.For<IMessageEncoder>();
64+
stubEncoderFactory.GetGetMoreMessageEncoder().Returns(stubEncoder);
65+
66+
var result = subject.GetEncoder(stubEncoderFactory);
67+
68+
result.Should().BeSameAs(stubEncoder);
6869
}
6970
}
7071
}

src/MongoDB.Driver.Core.Tests/Core/WireProtocol/Messages/InsertMessageTests.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,13 +89,14 @@ public void Constructor_with_null_serializer_should_throw()
8989
[Test]
9090
public void GetEncoder_should_return_encoder()
9191
{
92-
var mockEncoder = Substitute.For<IMessageEncoder<InsertMessage<BsonDocument>>>();
93-
var mockEncoderFactory = Substitute.For<IMessageEncoderFactory>();
94-
mockEncoderFactory.GetInsertMessageEncoder(_serializer).Returns(mockEncoder);
95-
9692
var subject = new InsertMessage<BsonDocument>(_requestId, _collectionNamespace, _serializer, _documentSource, _maxBatchCount, _maxMessageSize, _continueOnError);
97-
var encoder = subject.GetEncoder(mockEncoderFactory);
98-
encoder.Should().BeSameAs(mockEncoder);
93+
var stubEncoderFactory = Substitute.For<IMessageEncoderFactory>();
94+
var stubEncoder = Substitute.For<IMessageEncoder>();
95+
stubEncoderFactory.GetInsertMessageEncoder(_serializer).Returns(stubEncoder);
96+
97+
var result = subject.GetEncoder(stubEncoderFactory);
98+
99+
result.Should().BeSameAs(stubEncoder);
99100
}
100101
}
101102
}

src/MongoDB.Driver.Core.Tests/Core/WireProtocol/Messages/KillCursorsMessageTests.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,14 @@ public void Constructor_with_null_cursorIds_should_throw()
4848
[Test]
4949
public void GetEncoder_should_return_encoder()
5050
{
51-
var mockEncoder = Substitute.For<IMessageEncoder<KillCursorsMessage>>();
52-
var mockEncoderFactory = Substitute.For<IMessageEncoderFactory>();
53-
mockEncoderFactory.GetKillCursorsMessageEncoder().Returns(mockEncoder);
54-
5551
var subject = new KillCursorsMessage(_requestId, _cursorIds);
56-
var encoder = subject.GetEncoder(mockEncoderFactory);
57-
encoder.Should().BeSameAs(mockEncoder);
52+
var stubEncoderFactory = Substitute.For<IMessageEncoderFactory>();
53+
var stubEncoder = Substitute.For<IMessageEncoder>();
54+
stubEncoderFactory.GetKillCursorsMessageEncoder().Returns(stubEncoder);
55+
56+
var result = subject.GetEncoder(stubEncoderFactory);
57+
58+
result.Should().BeSameAs(stubEncoder);
5859
}
5960
}
6061
}

src/MongoDB.Driver.Core.Tests/Core/WireProtocol/Messages/QueryMessageTests.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,14 @@ public void Constructor_with_null_query_should_throw()
7979
[Test]
8080
public void GetEncoder_should_return_encoder()
8181
{
82-
var mockEncoder = Substitute.For<IMessageEncoder<QueryMessage>>();
83-
var mockEncoderFactory = Substitute.For<IMessageEncoderFactory>();
84-
mockEncoderFactory.GetQueryMessageEncoder().Returns(mockEncoder);
85-
8682
var subject = new QueryMessage(_requestId, _collectionNamespace, _query, _fields, _queryValidator, _skip, _batchSize, false, false, false, false, false);
87-
var encoder = subject.GetEncoder(mockEncoderFactory);
88-
encoder.Should().BeSameAs(mockEncoder);
83+
var stubEncoderFactory = Substitute.For<IMessageEncoderFactory>();
84+
var stubEncoder = Substitute.For<IMessageEncoder>();
85+
stubEncoderFactory.GetQueryMessageEncoder().Returns(stubEncoder);
86+
87+
var result = subject.GetEncoder(stubEncoderFactory);
88+
89+
result.Should().BeSameAs(stubEncoder);
8990
}
9091
}
9192
}

src/MongoDB.Driver.Core.Tests/Core/WireProtocol/Messages/ReplyMessageTests.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,13 +113,14 @@ public void Constructor_with_queryFailure_should_initialize_instance()
113113
[Test]
114114
public void GetEncoder_should_return_encoder()
115115
{
116-
var mockEncoder = Substitute.For<IMessageEncoder<ReplyMessage<BsonDocument>>>();
117-
var mockEncoderFactory = Substitute.For<IMessageEncoderFactory>();
118-
mockEncoderFactory.GetReplyMessageEncoder(_serializer).Returns(mockEncoder);
119-
120116
var subject = new ReplyMessage<BsonDocument>(true, _cursorId, false, _documents, _numberReturned, false, null, _requestId, _responseTo, _serializer, _startingFrom);
121-
var encoder = subject.GetEncoder(mockEncoderFactory);
122-
encoder.Should().BeSameAs(mockEncoder);
117+
var stubEncoderFactory = Substitute.For<IMessageEncoderFactory>();
118+
var stubEncoder = Substitute.For<IMessageEncoder>();
119+
stubEncoderFactory.GetReplyMessageEncoder(_serializer).Returns(stubEncoder);
120+
121+
var result = subject.GetEncoder(stubEncoderFactory);
122+
123+
result.Should().BeSameAs(stubEncoder);
123124
}
124125
}
125126
}

src/MongoDB.Driver.Core.Tests/Core/WireProtocol/Messages/UpdateMessageTests.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,13 +70,14 @@ public void Constructor_with_null_update_should_throw()
7070
[Test]
7171
public void GetEncoder_should_return_encoder()
7272
{
73-
var mockEncoder = Substitute.For<IMessageEncoder<UpdateMessage>>();
74-
var mockEncoderFactory = Substitute.For<IMessageEncoderFactory>();
75-
mockEncoderFactory.GetUpdateMessageEncoder().Returns(mockEncoder);
76-
7773
var subject = new UpdateMessage(_requestId, _collectionNamespace, _query, _update, _updateValidator, false, false);
78-
var encoder = subject.GetEncoder(mockEncoderFactory);
79-
encoder.Should().BeSameAs(mockEncoder);
74+
var stubEncoderFactory = Substitute.For<IMessageEncoderFactory>();
75+
var stubEncoder = Substitute.For<IMessageEncoder>();
76+
stubEncoderFactory.GetUpdateMessageEncoder().Returns(stubEncoder);
77+
78+
var result = subject.GetEncoder(stubEncoderFactory);
79+
80+
result.Should().BeSameAs(stubEncoder);
8081
}
8182
}
8283
}

src/MongoDB.Driver.Core/Core/Connections/BinaryConnection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ public async Task<ReplyMessage<TDocument>> ReceiveMessageAsync<TDocument>(
281281
{
282282
var encoderFactory = new BinaryMessageEncoderFactory(stream, messageEncoderSettings);
283283
var encoder = encoderFactory.GetReplyMessageEncoder<TDocument>(serializer);
284-
reply = encoder.ReadMessage();
284+
reply = (ReplyMessage<TDocument>)encoder.ReadMessage();
285285
}
286286
stopwatch.Stop();
287287

src/MongoDB.Driver.Core/Core/WireProtocol/Messages/DeleteMessage.cs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ namespace MongoDB.Driver.Core.WireProtocol.Messages
2323
/// <summary>
2424
/// Represents a Delete message.
2525
/// </summary>
26-
public class DeleteMessage : RequestMessage, IEncodableMessage<DeleteMessage>
26+
public class DeleteMessage : RequestMessage
2727
{
2828
// fields
2929
private readonly CollectionNamespace _collectionNamespace;
@@ -86,15 +86,9 @@ public BsonDocument Query
8686

8787
// methods
8888
/// <inheritdoc/>
89-
public new IMessageEncoder<DeleteMessage> GetEncoder(IMessageEncoderFactory encoderFactory)
89+
public override IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory)
9090
{
9191
return encoderFactory.GetDeleteMessageEncoder();
9292
}
93-
94-
/// <inheritdoc/>
95-
protected override IMessageEncoder GetNonGenericEncoder(IMessageEncoderFactory encoderFactory)
96-
{
97-
return GetEncoder(encoderFactory);
98-
}
9993
}
10094
}

src/MongoDB.Driver.Core/Core/WireProtocol/Messages/Encoders/BinaryEncoders/BinaryMessageEncoderFactory.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,43 +43,43 @@ public BinaryMessageEncoderFactory(Stream stream, MessageEncoderSettings encoder
4343

4444
// methods
4545
/// <inheritdoc/>
46-
public IMessageEncoder<DeleteMessage> GetDeleteMessageEncoder()
46+
public IMessageEncoder GetDeleteMessageEncoder()
4747
{
4848
return new DeleteMessageBinaryEncoder(_stream, _encoderSettings);
4949
}
5050

5151
/// <inheritdoc/>
52-
public IMessageEncoder<GetMoreMessage> GetGetMoreMessageEncoder()
52+
public IMessageEncoder GetGetMoreMessageEncoder()
5353
{
5454
return new GetMoreMessageBinaryEncoder(_stream, _encoderSettings);
5555
}
5656

5757
/// <inheritdoc/>
58-
public IMessageEncoder<InsertMessage<TDocument>> GetInsertMessageEncoder<TDocument>(IBsonSerializer<TDocument> serializer)
58+
public IMessageEncoder GetInsertMessageEncoder<TDocument>(IBsonSerializer<TDocument> serializer)
5959
{
6060
return new InsertMessageBinaryEncoder<TDocument>(_stream, _encoderSettings, serializer);
6161
}
6262

6363
/// <inheritdoc/>
64-
public IMessageEncoder<KillCursorsMessage> GetKillCursorsMessageEncoder()
64+
public IMessageEncoder GetKillCursorsMessageEncoder()
6565
{
6666
return new KillCursorsMessageBinaryEncoder(_stream, _encoderSettings);
6767
}
6868

6969
/// <inheritdoc/>
70-
public IMessageEncoder<QueryMessage> GetQueryMessageEncoder()
70+
public IMessageEncoder GetQueryMessageEncoder()
7171
{
7272
return new QueryMessageBinaryEncoder(_stream, _encoderSettings);
7373
}
7474

7575
/// <inheritdoc/>
76-
public IMessageEncoder<ReplyMessage<TDocument>> GetReplyMessageEncoder<TDocument>(IBsonSerializer<TDocument> serializer)
76+
public IMessageEncoder GetReplyMessageEncoder<TDocument>(IBsonSerializer<TDocument> serializer)
7777
{
7878
return new ReplyMessageBinaryEncoder<TDocument>(_stream, _encoderSettings, serializer);
7979
}
8080

8181
/// <inheritdoc/>
82-
public IMessageEncoder<UpdateMessage> GetUpdateMessageEncoder()
82+
public IMessageEncoder GetUpdateMessageEncoder()
8383
{
8484
return new UpdateMessageBinaryEncoder(_stream, _encoderSettings);
8585
}

src/MongoDB.Driver.Core/Core/WireProtocol/Messages/Encoders/BinaryEncoders/DeleteMessageBinaryEncoder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ namespace MongoDB.Driver.Core.WireProtocol.Messages.Encoders.BinaryEncoders
2727
/// <summary>
2828
/// Represents a binary encoder for a Delete message.
2929
/// </summary>
30-
public class DeleteMessageBinaryEncoder : MessageBinaryEncoderBase, IMessageEncoder<DeleteMessage>
30+
public class DeleteMessageBinaryEncoder : MessageBinaryEncoderBase, IMessageEncoder
3131
{
3232
// constructors
3333
/// <summary>

src/MongoDB.Driver.Core/Core/WireProtocol/Messages/Encoders/BinaryEncoders/GetMoreMessageBinaryEncoder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ namespace MongoDB.Driver.Core.WireProtocol.Messages.Encoders.BinaryEncoders
2424
/// <summary>
2525
/// Represents a binary encoder for a GetMore message.
2626
/// </summary>
27-
public class GetMoreMessageBinaryEncoder : MessageBinaryEncoderBase, IMessageEncoder<GetMoreMessage>
27+
public class GetMoreMessageBinaryEncoder : MessageBinaryEncoderBase, IMessageEncoder
2828
{
2929
// constructors
3030
/// <summary>

src/MongoDB.Driver.Core/Core/WireProtocol/Messages/Encoders/BinaryEncoders/InsertMessageBinaryEncoder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ namespace MongoDB.Driver.Core.WireProtocol.Messages.Encoders.BinaryEncoders
2626
/// <summary>
2727
/// Represents a binary encoder for an Insert message.
2828
/// </summary>
29-
public class InsertMessageBinaryEncoder<TDocument> : MessageBinaryEncoderBase, IMessageEncoder<InsertMessage<TDocument>>
29+
public class InsertMessageBinaryEncoder<TDocument> : MessageBinaryEncoderBase, IMessageEncoder
3030
{
3131
// fields
3232
private readonly IBsonSerializer<TDocument> _serializer;

src/MongoDB.Driver.Core/Core/WireProtocol/Messages/Encoders/BinaryEncoders/KillCursorsMessageBinaryEncoder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ namespace MongoDB.Driver.Core.WireProtocol.Messages.Encoders.BinaryEncoders
2424
/// <summary>
2525
/// Represents a binary encoder for a KillCursors message.
2626
/// </summary>
27-
public class KillCursorsMessageBinaryEncoder : MessageBinaryEncoderBase, IMessageEncoder<KillCursorsMessage>
27+
public class KillCursorsMessageBinaryEncoder : MessageBinaryEncoderBase, IMessageEncoder
2828
{
2929
// constructors
3030
/// <summary>

src/MongoDB.Driver.Core/Core/WireProtocol/Messages/Encoders/BinaryEncoders/QueryMessageBinaryEncoder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ namespace MongoDB.Driver.Core.WireProtocol.Messages.Encoders.BinaryEncoders
2626
/// <summary>
2727
/// Represents a binary encoder for a Query message.
2828
/// </summary>
29-
public class QueryMessageBinaryEncoder : MessageBinaryEncoderBase, IMessageEncoder<QueryMessage>
29+
public class QueryMessageBinaryEncoder : MessageBinaryEncoderBase, IMessageEncoder
3030
{
3131
// constructors
3232
/// <summary>

src/MongoDB.Driver.Core/Core/WireProtocol/Messages/Encoders/BinaryEncoders/ReplyMessageBinaryEncoder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ namespace MongoDB.Driver.Core.WireProtocol.Messages.Encoders.BinaryEncoders
3030
/// <summary>
3131
/// Represents a binary encoder for a Reply message.
3232
/// </summary>
33-
public class ReplyMessageBinaryEncoder<TDocument> : MessageBinaryEncoderBase, IMessageEncoder<ReplyMessage<TDocument>>
33+
public class ReplyMessageBinaryEncoder<TDocument> : MessageBinaryEncoderBase, IMessageEncoder
3434
{
3535
// fields
3636
private readonly IBsonSerializer<TDocument> _serializer;

src/MongoDB.Driver.Core/Core/WireProtocol/Messages/Encoders/BinaryEncoders/UpdateMessageBinaryEncoder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ namespace MongoDB.Driver.Core.WireProtocol.Messages.Encoders.BinaryEncoders
3030
/// <summary>
3131
/// Represents a binary encoder for an Update message.
3232
/// </summary>
33-
public class UpdateMessageBinaryEncoder : MessageBinaryEncoderBase, IMessageEncoder<UpdateMessage>
33+
public class UpdateMessageBinaryEncoder : MessageBinaryEncoderBase, IMessageEncoder
3434
{
3535
// constructors
3636
/// <summary>

src/MongoDB.Driver.Core/Core/WireProtocol/Messages/Encoders/IEncodableMessage.cs

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,4 @@ public interface IEncodableMessage
3434
/// <returns>A message encoder.</returns>
3535
IMessageEncoder GetEncoder(IMessageEncoderFactory encoderFactory);
3636
}
37-
38-
/// <summary>
39-
/// Represents an encodable message.
40-
/// </summary>
41-
public interface IEncodableMessage<TMessage> : IEncodableMessage where TMessage : MongoDBMessage
42-
{
43-
// methods
44-
/// <summary>
45-
/// Gets an encoder for the message from an encoder factory.
46-
/// </summary>
47-
/// <param name="encoderFactory">The encoder factory.</param>
48-
/// <returns>A message encoder.</returns>
49-
new IMessageEncoder<TMessage> GetEncoder(IMessageEncoderFactory encoderFactory);
50-
}
5137
}

src/MongoDB.Driver.Core/Core/WireProtocol/Messages/Encoders/IMessageEncoder.cs

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -38,22 +38,4 @@ public interface IMessageEncoder
3838
/// <param name="message">The message.</param>
3939
void WriteMessage(MongoDBMessage message);
4040
}
41-
42-
/// <summary>
43-
/// Represents a message encoder.
44-
/// </summary>
45-
public interface IMessageEncoder<TMessage> : IMessageEncoder where TMessage : MongoDBMessage
46-
{
47-
/// <summary>
48-
/// Reads the message.
49-
/// </summary>
50-
/// <returns>A message.</returns>
51-
new TMessage ReadMessage();
52-
53-
/// <summary>
54-
/// Writes the message.
55-
/// </summary>
56-
/// <param name="message">The message.</param>
57-
void WriteMessage(TMessage message);
58-
}
5941
}

src/MongoDB.Driver.Core/Core/WireProtocol/Messages/Encoders/IMessageEncoderFactory.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,42 +31,42 @@ public interface IMessageEncoderFactory
3131
/// Gets an encoder for a Delete message.
3232
/// </summary>
3333
/// <returns>An encoder.</returns>
34-
IMessageEncoder<DeleteMessage> GetDeleteMessageEncoder();
34+
IMessageEncoder GetDeleteMessageEncoder();
3535

3636
/// <summary>
3737
/// Gets an encoder for a GetMore message.
3838
/// </summary>
3939
/// <returns>An encoder.</returns>
40-
IMessageEncoder<GetMoreMessage> GetGetMoreMessageEncoder();
40+
IMessageEncoder GetGetMoreMessageEncoder();
4141

4242
/// <summary>
4343
/// Gets an encoder for an Insert message.
4444
/// </summary>
4545
/// <returns>An encoder.</returns>
46-
IMessageEncoder<InsertMessage<TDocument>> GetInsertMessageEncoder<TDocument>(IBsonSerializer<TDocument> serializer);
46+
IMessageEncoder GetInsertMessageEncoder<TDocument>(IBsonSerializer<TDocument> serializer);
4747

4848
/// <summary>
4949
/// Gets an encoder for a KillCursors message.
5050
/// </summary>
5151
/// <returns>An encoder.</returns>
52-
IMessageEncoder<KillCursorsMessage> GetKillCursorsMessageEncoder();
52+
IMessageEncoder GetKillCursorsMessageEncoder();
5353

5454
/// <summary>
5555
/// Gets an encoder for a Query message.
5656
/// </summary>
5757
/// <returns>An encoder.</returns>
58-
IMessageEncoder<QueryMessage> GetQueryMessageEncoder();
58+
IMessageEncoder GetQueryMessageEncoder();
5959

6060
/// <summary>
6161
/// Gets an encoder for a Reply message.
6262
/// </summary>
6363
/// <returns>An encoder.</returns>
64-
IMessageEncoder<ReplyMessage<TDocument>> GetReplyMessageEncoder<TDocument>(IBsonSerializer<TDocument> serializer);
64+
IMessageEncoder GetReplyMessageEncoder<TDocument>(IBsonSerializer<TDocument> serializer);
6565

6666
/// <summary>
6767
/// Gets an encoder for an Update message.
6868
/// </summary>
6969
/// <returns>An encoder.</returns>
70-
IMessageEncoder<UpdateMessage> GetUpdateMessageEncoder();
70+
IMessageEncoder GetUpdateMessageEncoder();
7171
}
7272
}

0 commit comments

Comments
 (0)