Skip to content

Commit 01e7d59

Browse files
committed
Small improvements
1 parent ee3592e commit 01e7d59

File tree

9 files changed

+15
-15
lines changed

9 files changed

+15
-15
lines changed

src/MongoDB.Bson/Serialization/BsonMemberMap.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public BsonMemberMap(BsonClassMap classMap, MemberInfo memberInfo)
5656
{
5757
_classMap = classMap;
5858
_memberInfo = memberInfo;
59-
_memberType = BsonClassMap.GetMemberInfoType(memberInfo); //FP This is more of a utility method, it can stay like this
59+
_memberType = BsonClassMap.GetMemberInfoType(memberInfo);
6060
_memberTypeIsBsonValue = typeof(BsonValue).GetTypeInfo().IsAssignableFrom(_memberType);
6161

6262
Reset();

src/MongoDB.Bson/Serialization/IBsonSerializationProvider.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ internal interface IDomainAwareBsonSerializationProvider : IRegistryAwareBsonSer
5555
{
5656
IBsonSerializationDomain SerializationDomain { get; }
5757

58-
//FP Can't use just GetSerializer name because it's already used by the base interface.
5958
IBsonSerializer GetSerializerWithDomain(Type type);
6059
}
6160
}

src/MongoDB.Driver/Core/Operations/CreateSearchIndexesOperation.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@ internal sealed class CreateSearchIndexesOperation : IWriteOperation<BsonDocumen
3737
private readonly IEnumerable<CreateSearchIndexRequest> _requests;
3838
private readonly IBsonSerializationDomain _serializationDomain;
3939

40-
//FP We should remove all the docs in those internal classes, at least for constructors.
4140
// constructors
4241
/// <summary>
4342
/// Initializes a new instance of the <see cref="CreateIndexesOperation"/> class.

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ protected int? MaxWireDocumentSize
8484

8585
protected IBsonSerializationDomain SerializationDomain
8686
=> _encoderSettings?.GetOrDefault<IBsonSerializationDomain>(MessageEncoderSettingsName.SerializationDomain, null) ?? BsonSerializer.DefaultSerializationDomain;
87-
//QUESTION Is this correct? If we don't have a domain in the encoder settings, just use the default one?
8887

8988
// methods
9089
public BsonBinaryReader CreateBinaryReader()

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

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,13 @@ namespace MongoDB.Driver.Core.WireProtocol.Messages.Encoders.BinaryEncoders
2525
{
2626
internal sealed class QueryMessageBinaryEncoder : MessageBinaryEncoderBase, IMessageEncoder
2727
{
28+
private readonly IBsonSerializationDomain _serializationDomain;
29+
2830
// constructors
2931
public QueryMessageBinaryEncoder(Stream stream, MessageEncoderSettings encoderSettings)
3032
: base(stream, encoderSettings)
3133
{
34+
_serializationDomain = encoderSettings?.GetOrDefault<IBsonSerializationDomain>(MessageEncoderSettingsName.SerializationDomain, null) ?? BsonSerializer.DefaultSerializationDomain;
3235
}
3336

3437
// methods
@@ -169,8 +172,7 @@ private void WriteQuery(BsonBinaryWriter binaryWriter, BsonDocument query, IElem
169172
binaryWriter.PushElementNameValidator(queryValidator);
170173
try
171174
{
172-
//QUESTION Is it correct we only need a default domain here?
173-
var context = BsonSerializationContext.CreateRoot(binaryWriter, BsonSerializer.DefaultSerializationDomain);
175+
var context = BsonSerializationContext.CreateRoot(binaryWriter, _serializationDomain);
174176
BsonDocumentSerializer.Instance.Serialize(context, query ?? new BsonDocument());
175177
}
176178
finally

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,14 @@ internal class ReplyMessageBinaryEncoder<TDocument> : MessageBinaryEncoderBase,
2828
{
2929
// fields
3030
private readonly IBsonSerializer<TDocument> _serializer;
31+
private readonly IBsonSerializationDomain _serializationDomain;
3132

3233
// constructors
3334
public ReplyMessageBinaryEncoder(Stream stream, MessageEncoderSettings encoderSettings, IBsonSerializer<TDocument> serializer)
3435
: base(stream, encoderSettings)
3536
{
3637
_serializer = Ensure.IsNotNull(serializer, nameof(serializer));
38+
_serializationDomain = encoderSettings?.GetOrDefault<IBsonSerializationDomain>(MessageEncoderSettingsName.SerializationDomain, null) ?? BsonSerializer.DefaultSerializationDomain;
3739
}
3840

3941
// methods
@@ -124,16 +126,14 @@ public void WriteMessage(ReplyMessage<TDocument> message)
124126
stream.WriteInt32(message.NumberReturned);
125127
if (message.QueryFailure)
126128
{
127-
//QUESTION Is it correct we only need a default domain here?
128-
var context = BsonSerializationContext.CreateRoot(binaryWriter, BsonSerializer.DefaultSerializationDomain);
129+
var context = BsonSerializationContext.CreateRoot(binaryWriter, _serializationDomain);
129130
_serializer.Serialize(context, message.QueryFailureDocument);
130131
}
131132
else
132133
{
133134
foreach (var doc in message.Documents)
134135
{
135-
//QUESTION Is it correct we only need a default domain here?
136-
var context = BsonSerializationContext.CreateRoot(binaryWriter, BsonSerializer.DefaultSerializationDomain);
136+
var context = BsonSerializationContext.CreateRoot(binaryWriter, _serializationDomain);
137137
_serializer.Serialize(context, doc);
138138
}
139139
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ internal static class MessageEncoderSettingsName
4141
public const string ShellVersion = nameof(ShellVersion);
4242

4343
// other encoders (if any) might use additional settings
44-
public const string SerializationDomain = nameof(SerializationDomain); //FP I think I should try to remove it from here..
44+
public const string SerializationDomain = nameof(SerializationDomain);
45+
//QUESTION Should this be removed from here? If so, what do we do with all the Encoders that use it?
4546
}
4647

4748
internal sealed class MessageEncoderSettings : IEnumerable<KeyValuePair<string, object>>

src/MongoDB.Driver/PipelineStageDefinitionBuilder.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -568,7 +568,7 @@ public static PipelineStageDefinition<TInput, TOutput> Facet<TInput, TOutput>(
568568
{
569569
outputSerializer = (IBsonSerializer<TOutput>)new AggregateFacetResultsSerializer(
570570
materializedFacets.Select(f => f.Name),
571-
materializedFacets.Select(f => f.OutputSerializer ?? args.SerializerRegistry.GetSerializer(f.OutputType))); //QUESTION What do we do? Do we delay the setting of the serializer..?
571+
materializedFacets.Select(f => f.OutputSerializer ?? args.SerializerRegistry.GetSerializer(f.OutputType)));
572572
}
573573
else
574574
{

src/MongoDB.Driver/RenderArgs.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public RenderArgs(
5555
IBsonSerializer<TDocument> documentSerializer,
5656
IBsonSerializerRegistry serializerRegistry,
5757
PathRenderArgs pathRenderArgs = default,
58-
bool renderDollarForm = default,
58+
bool renderDollarForm = false,
5959
bool renderForFind = false,
6060
bool renderForElemMatch = false,
6161
ExpressionTranslationOptions translationOptions = null)
@@ -84,7 +84,7 @@ internal RenderArgs(
8484
IBsonSerializer<TDocument> documentSerializer,
8585
IBsonSerializationDomain serializationDomain,
8686
PathRenderArgs pathRenderArgs = default,
87-
bool renderDollarForm = default,
87+
bool renderDollarForm = false,
8888
bool renderForFind = false,
8989
bool renderForElemMatch = false,
9090
ExpressionTranslationOptions translationOptions = null)
@@ -131,7 +131,7 @@ public readonly IBsonSerializer<TDocument> DocumentSerializer
131131
/// <summary>
132132
/// Gets the serializer registry.
133133
/// </summary>
134-
public readonly IBsonSerializerRegistry SerializerRegistry //TODO: we should probably remove this property
134+
public readonly IBsonSerializerRegistry SerializerRegistry //DOMAIN-API: we should probably remove this property and use the domain directly
135135
{
136136
get => _serializerRegistry;
137137
init => _serializerRegistry = Ensure.IsNotNull(value, nameof(value));

0 commit comments

Comments
 (0)