Skip to content

Commit 76d9d83

Browse files
authored
Bump Nerdbank.MessagePack to 0.10.89-rc (#1324)
2 parents 8494092 + 092a0ad commit 76d9d83

File tree

3 files changed

+17
-10
lines changed

3 files changed

+17
-10
lines changed

Directory.Packages.props

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,9 @@
2727
<PackageVersion Include="Microsoft.VisualStudio.Threading.Only" Version="$(VisualStudioThreadingVersion)" />
2828
<PackageVersion Include="Microsoft.VisualStudio.Threading" Version="$(VisualStudioThreadingVersion)" />
2929
<PackageVersion Include="Microsoft.VisualStudio.Validation" Version="17.13.22" />
30-
<PackageVersion Include="Nerdbank.MessagePack" Version="0.10.63-rc" />
30+
<PackageVersion Include="Nerdbank.MessagePack" Version="0.10.89-rc" />
3131
<PackageVersion Include="Nerdbank.Streams" Version="2.13.16" />
3232
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
33-
<PackageVersion Include="PolyType" Version="1.0.0-rc.5" />
3433
<PackageVersion Include="System.Collections.Immutable" Version="8.0.0" />
3534
<PackageVersion Include="System.Diagnostics.DiagnosticSource" Version="8.0.1" />
3635
<PackageVersion Include="System.IO.Pipelines" Version="8.0.0" />

src/StreamJsonRpc/NerdbankMessagePackFormatter.cs

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1242,20 +1242,28 @@ protected internal override void SetExpectedDataType(Type dataType)
12421242
}
12431243
}
12441244

1245-
private class ConverterFactory : IMessagePackConverterFactory
1245+
private class ConverterFactory : IMessagePackConverterFactory, ITypeShapeFunc
12461246
{
12471247
internal static readonly ConverterFactory Instance = new();
12481248

12491249
private ConverterFactory()
12501250
{
12511251
}
12521252

1253-
public MessagePackConverter<T>? CreateConverter<T>(ITypeShape<T> shape)
1254-
=> MessageFormatterProgressTracker.CanDeserialize(typeof(T)) || MessageFormatterProgressTracker.CanSerialize(typeof(T)) ? new ProgressConverter<T>() :
1255-
TrackerHelpers.IsIAsyncEnumerable(typeof(T)) ? ActivateAssociatedType<MessagePackConverter<T>>(shape, typeof(AsyncEnumerableConverter<>)) :
1256-
TrackerHelpers.FindIAsyncEnumerableInterfaceImplementedBy(typeof(T)) is Type iface ? ActivateAssociatedType<MessagePackConverter<T>>(shape, typeof(AsyncEnumerableConverter<>)) :
1253+
public MessagePackConverter? CreateConverter(ITypeShape shape)
1254+
=> MessageFormatterProgressTracker.CanDeserialize(shape.Type) || MessageFormatterProgressTracker.CanSerialize(shape.Type) ||
1255+
TrackerHelpers.IsIAsyncEnumerable(shape.Type) ||
1256+
TrackerHelpers.FindIAsyncEnumerableInterfaceImplementedBy(shape.Type) is Type ||
1257+
MessageFormatterRpcMarshaledContextTracker.TryGetMarshalOptionsForType(shape, DefaultRpcMarshalableProxyOptions, out JsonRpcProxyOptions? proxyOptions, out JsonRpcTargetOptions? targetOptions, out RpcMarshalableAttribute? attribute) ||
1258+
typeof(Exception).IsAssignableFrom(shape.Type)
1259+
? this.Invoke(shape) : null;
1260+
1261+
object? ITypeShapeFunc.Invoke<T>(ITypeShape<T> shape, object? state)
1262+
=> MessageFormatterProgressTracker.CanDeserialize(shape.Type) || MessageFormatterProgressTracker.CanSerialize(shape.Type) ? new ProgressConverter<T>() :
1263+
TrackerHelpers.IsIAsyncEnumerable(shape.Type) ? ActivateAssociatedType<MessagePackConverter<T>>(shape, typeof(AsyncEnumerableConverter<>)) :
1264+
TrackerHelpers.FindIAsyncEnumerableInterfaceImplementedBy(shape.Type) is Type iface ? ActivateAssociatedType<MessagePackConverter<T>>(shape, typeof(AsyncEnumerableConverter<>)) :
12571265
MessageFormatterRpcMarshaledContextTracker.TryGetMarshalOptionsForType(shape, DefaultRpcMarshalableProxyOptions, out JsonRpcProxyOptions? proxyOptions, out JsonRpcTargetOptions? targetOptions, out RpcMarshalableAttribute? attribute) ? new RpcMarshalableConverter<T>(shape, proxyOptions, targetOptions, attribute) :
1258-
typeof(Exception).IsAssignableFrom(typeof(T)) ? new ExceptionConverter<T>() :
1266+
typeof(Exception).IsAssignableFrom(shape.Type) ? new ExceptionConverter<T>() :
12591267
null;
12601268
}
12611269

src/StreamJsonRpc/Reflection/MessageFormatterRpcMarshaledContextTracker.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,8 @@ private enum MarshalMode
9696
MarshallingRealObject = 1,
9797
}
9898

99-
internal static bool TryGetMarshalOptionsForType<T>(
100-
ITypeShape<T> typeShape,
99+
internal static bool TryGetMarshalOptionsForType(
100+
ITypeShape typeShape,
101101
JsonRpcProxyOptions defaultProxyOptions,
102102
[NotNullWhen(true)] out JsonRpcProxyOptions? proxyOptions,
103103
[NotNullWhen(true)] out JsonRpcTargetOptions? targetOptions,

0 commit comments

Comments
 (0)