Files
Benchmarking
Capnp.Net.Runtime
FrameTracing
Rpc
Interception
AnswerOrCounterquestion.cs
BareProxy.cs
CapabilityReflection.cs
ConnectionState.cs
ConsumedCapability.cs
IConnection.cs
IEndpoint.cs
IMonoSkeleton.cs
IPromisedAnswer.cs
IProvidedCapability.cs
IResolvingCapability.cs
IRpcEndpoint.cs
ISupportsMidlayers.cs
Impatient.cs
ImportedCapability.cs
InvalidCapabilityInterfaceException.cs
LazyCapability.cs
LocalAnswer.cs
LocalAnswerCapability.cs
LocalCapability.cs
MemberAccessPath.cs
MidlayerExtensions.cs
NoResultsException.cs
NullCapability.cs
NullSkeleton.cs
PendingAnswer.cs
PendingQuestion.cs
PolySkeleton.cs
PromisedCapability.cs
Proxy.cs
ProxyAttribute.cs
RefCountingCapability.cs
RefCountingSkeleton.cs
RemoteAnswerCapability.cs
RemoteCapability.cs
RemoteResolvingCapability.cs
ResolvingCapabilityExtensions.cs
RpcEngine.cs
RpcException.cs
RpcProtocolErrorException.cs
RpcUnimplementedException.cs
Skeleton.cs
SkeletonAttribute.cs
TcpRpcClient.cs
TcpRpcServer.cs
Vine.cs
rpc.cs
Util
AnyPointer.cs
Assembly.cs
Capnp.Net.Runtime.Std20.xml
Capnp.Net.Runtime.csproj
CapnpSerializable.cs
DeserializationException.cs
DeserializerState.cs
DynamicSerializerState.cs
EmptyList.cs
EmptyListDeserializer.cs
FramePump.cs
Framing.cs
ICapnpSerializable.cs
ISegmentAllocator.cs
IStructDeserializer.cs
IStructSerializer.cs
ListDeserializer.cs
ListKind.cs
ListOfBitsDeserializer.cs
ListOfBitsSerializer.cs
ListOfCapsDeserializer.cs
ListOfCapsSerializer.cs
ListOfEmptyDeserializer.cs
ListOfEmptySerializer.cs
ListOfPointersDeserializer.cs
ListOfPointersSerializer.cs
ListOfPrimitivesDeserializer.cs
ListOfPrimitivesSerializer.cs
ListOfStructsDeserializer.cs
ListOfStructsSerializer.cs
ListOfTextSerializer.cs
ListSerializerHelper.cs
Logging.cs
MessageBuilder.cs
NullableAttributes.cs
ObjectKind.cs
ReadOnlyListExtensions.cs
Reserializing.cs
SecurityOptions.cs
SegmentAllocator.cs
SegmentSlice.cs
SerializerExtensions.cs
SerializerState.cs
TypeIdAttribute.cs
UtilityExtensions.cs
WireFrame.cs
WirePointer.cs
Capnp.Net.Runtime.Tests
CapnpC.CSharp.Generator
CapnpC.CSharp.Generator.Tests
CapnpC.CSharp.MsBuild.Generation
CapnpC.CSharp.MsBuild.Generation.Tests
CapnpCompatTest
Licenses
MsBuildGenerationTest
capnpc-csharp
chocolatey
include
install-test
scripts
.gitattributes
.gitignore
Capnp.Net.sln
CapnpCompatTest.sln
Directory.Build.props
Directory.Build.targets
LICENSE
README.md
appveyor.yml
coverlet.runsettings
version.json
libs.capnproto-dotnetcore_R…/Capnp.Net.Runtime/Rpc/NullCapability.cs
2020-04-10 18:29:06 +02:00

54 lines
1.3 KiB
C#

using System;
namespace Capnp.Rpc
{
/// <summary>
/// Null capability
/// </summary>
public sealed class NullCapability : ConsumedCapability
{
/// <summary>
/// Singleton instance
/// </summary>
public static readonly NullCapability Instance = new NullCapability();
NullCapability()
{
}
/// <summary>
/// Does nothing
/// </summary>
protected override void ReleaseRemotely()
{
}
internal override void AddRef()
{
}
internal override Skeleton AsSkeleton() => NullSkeleton.Instance;
internal override IPromisedAnswer DoCall(ulong interfaceId, ushort methodId, DynamicSerializerState args)
{
args.Dispose();
throw new InvalidOperationException("Cannot call null capability");
}
internal override Action? Export(IRpcEndpoint endpoint, CapDescriptor.WRITER writer)
{
writer.which = CapDescriptor.WHICH.None;
return null;
}
internal override void Release()
{
}
/// <summary>
/// String hint
/// </summary>
/// <returns>"Null capability"</returns>
public override string ToString() => "Null capability";
}
}