private IActorRemotingMessageHeaders CreateActorHeader(ActorRemotingDispatchHeaders actorDispatchHeaders) { InterfaceDetails details; if (ActorCodeBuilder.TryGetKnownTypes(actorDispatchHeaders.ActorInterfaceName, out details)) { var headers = new ActorRemotingMessageHeaders(); headers.ActorId = actorDispatchHeaders.ActorId; headers.InterfaceId = details.Id; if (String.IsNullOrEmpty(actorDispatchHeaders.CallContext)) { headers.CallContext = Helper.GetCallContext(); } else { headers.CallContext = actorDispatchHeaders.CallContext; } var headersMethodId = 0; if (!details.MethodNames.TryGetValue(actorDispatchHeaders.MethodName, out headersMethodId)) { throw new NotSupportedException("This Actor Method is not Supported" + actorDispatchHeaders.MethodName); } headers.MethodId = headersMethodId; return(headers); } throw new NotSupportedException("This Actor Interface is not Supported" + actorDispatchHeaders.ActorInterfaceName); }
internal InterfaceDetails GetInterfaceDetails(int interfaceId) { if (!ActorCodeBuilder.TryGetKnownTypes(interfaceId, out var interfaceDetails)) { throw new ArgumentException("No interface found with this Id " + interfaceId); } return(interfaceDetails); }
internal override InterfaceDetails GetInterfaceDetails(int interfaceId) { InterfaceDetails interfaceDetails; if (ActorCodeBuilder.TryGetKnownTypes(interfaceId, out interfaceDetails)) { return(interfaceDetails); } //if not found in Actor Store, Check if its there in service store for actor service request return(base.GetInterfaceDetails(interfaceId)); }