Skip to content

Commit

Permalink
Make sure we can switch out the default memorystreamfactory confident…
Browse files Browse the repository at this point in the history
…ly by relying on a default on ConnectionConfiguration.cs
  • Loading branch information
Mpdreamz committed Mar 27, 2020
1 parent d8a188e commit c86f255
Show file tree
Hide file tree
Showing 10 changed files with 601 additions and 599 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ public class FixedPipelineFactory : IRequestPipelineFactory
public FixedPipelineFactory(IConnectionConfigurationValues connectionSettings, IDateTimeProvider dateTimeProvider)
{
DateTimeProvider = dateTimeProvider;
MemoryStreamFactory = Elasticsearch.Net.MemoryStreamFactory.Default;
MemoryStreamFactory = ConnectionConfiguration.DefaultMemoryStreamFactory;

Settings = connectionSettings;
Pipeline = Create(Settings, DateTimeProvider, MemoryStreamFactory, new SearchRequestParameters());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public static byte[] Create(IEnumerable<Node> nodes, string elasticsearchVersion
cluster_name = ClusterName,
nodes = SniffResponseNodes(nodes, elasticsearchVersion, publishAddressOverride, randomFqdn)
};
using (var ms = MemoryStreamFactory.Default.Create())
using (var ms = ConnectionConfiguration.DefaultMemoryStreamFactory.Create())
{
LowLevelRequestResponseSerializer.Instance.Serialize(response, ms);
return ms.ToArray();
Expand Down
2 changes: 1 addition & 1 deletion src/Elasticsearch.Net.VirtualizedCluster/Rules/RuleBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public TRule ReturnResponse<T>(T response)
where T : class
{
byte[] r;
using (var ms = MemoryStreamFactory.Default.Create())
using (var ms = ConnectionConfiguration.DefaultMemoryStreamFactory.Create())
{
LowLevelRequestResponseSerializer.Instance.Serialize(response, ms);
r = ms.ToArray();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,7 @@ private static byte[] CallResponse<TRule>(TRule rule)
if (_defaultResponseBytes != null) return _defaultResponseBytes;

var response = DefaultResponse;
using (var ms = MemoryStreamFactory.Default.Create())
using (var ms = ConnectionConfiguration.DefaultMemoryStreamFactory.Create())
{
LowLevelRequestResponseSerializer.Instance.Serialize(response, ms);
_defaultResponseBytes = ms.ToArray();
Expand Down
1,175 changes: 588 additions & 587 deletions src/Elasticsearch.Net/Configuration/ConnectionConfiguration.cs

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public static byte[] SerializeToBytes<T>(
this IElasticsearchSerializer serializer,
T data,
SerializationFormatting formatting = SerializationFormatting.None) =>
SerializeToBytes(serializer, data, RecyclableMemoryStreamFactory.Default, formatting);
SerializeToBytes(serializer, data, ConnectionConfiguration.DefaultMemoryStreamFactory, formatting);

/// <summary>
/// Extension method that serializes an instance of <typeparamref name="T"/> to a byte array.
Expand All @@ -41,7 +41,7 @@ public static byte[] SerializeToBytes<T>(
SerializationFormatting formatting = SerializationFormatting.None
)
{
memoryStreamFactory ??= RecyclableMemoryStreamFactory.Default;
memoryStreamFactory ??= ConnectionConfiguration.DefaultMemoryStreamFactory;
using (var ms = memoryStreamFactory.Create())
{
serializer.Serialize(data, ms, formatting);
Expand All @@ -56,7 +56,7 @@ public static string SerializeToString<T>(
this IElasticsearchSerializer serializer,
T data,
SerializationFormatting formatting = SerializationFormatting.None) =>
SerializeToString(serializer, data, RecyclableMemoryStreamFactory.Default, formatting);
SerializeToString(serializer, data, ConnectionConfiguration.DefaultMemoryStreamFactory, formatting);

/// <summary>
/// Extension method that serializes an instance of <typeparamref name="T"/> to a string.
Expand All @@ -72,7 +72,7 @@ public static string SerializeToString<T>(
SerializationFormatting formatting = SerializationFormatting.None
)
{
memoryStreamFactory ??= RecyclableMemoryStreamFactory.Default;
memoryStreamFactory ??= ConnectionConfiguration.DefaultMemoryStreamFactory;
using (var ms = memoryStreamFactory.Create())
{
serializer.Serialize(data, ms, formatting);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ private static MemoryStream ToMemoryStream(Stream stream)
private static ReadOnlySpan<byte> ToReadOnlySpan(Stream stream)
{
using var m = ToMemoryStream(stream);

if (m.TryGetBuffer(out var segment))
return segment;

Expand Down
2 changes: 1 addition & 1 deletion src/Elasticsearch.Net/Utf8Json/Internal/Emit/ILViewer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ static ILStreamReader()
}

public ILStreamReader(byte[] ilByteArray)
: base(RecyclableMemoryStreamFactory.Default.Create(ilByteArray))
: base(ConnectionConfiguration.DefaultMemoryStreamFactory.Create(ilByteArray))
{
this.endPosition = ilByteArray.Length;
}
Expand Down
4 changes: 2 additions & 2 deletions tests/Tests.Reproduce/GitHubIssue3719.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public void SerializeDateMathWithMinimumThreeDecimalPlacesWhenTens()
{
DateMath dateMath = new DateTime(2019, 5, 7, 12, 0, 0, 20);

var json = TestClient.Default.RequestResponseSerializer.SerializeToString(dateMath, MemoryStreamFactory.Default);
var json = TestClient.Default.RequestResponseSerializer.SerializeToString(dateMath, ConnectionConfiguration.DefaultMemoryStreamFactory);
json.Should().Be("\"2019-05-07T12:00:00.020\"");
}

Expand All @@ -23,7 +23,7 @@ public void SerializeDateMathWithMinimumThreeDecimalPlacesWhenHundreds()
{
DateMath dateMath = new DateTime(2019, 5, 7, 12, 0, 0, 200);

var json = TestClient.Default.RequestResponseSerializer.SerializeToString(dateMath, MemoryStreamFactory.Default);
var json = TestClient.Default.RequestResponseSerializer.SerializeToString(dateMath, ConnectionConfiguration.DefaultMemoryStreamFactory);
json.Should().Be("\"2019-05-07T12:00:00.200\"");
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ public void CanDeserializeAndSerializeToWellKnownText()
var client = TestClient.DisabledStreaming;

Doc deserialized;
using (var stream = MemoryStreamFactory.Default.Create(Encoding.UTF8.GetBytes(wkt)))
using (var stream = ConnectionConfiguration.DefaultMemoryStreamFactory.Create(Encoding.UTF8.GetBytes(wkt)))
deserialized = client.RequestResponseSerializer.Deserialize<Doc>(stream);

deserialized.Location.Should().Be(new GeoLocation(90, -90));
Expand Down

0 comments on commit c86f255

Please sign in to comment.