Exemple #1
0
        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);
        }
Exemple #2
0
        internal InterfaceDetails GetInterfaceDetails(int interfaceId)
        {
            if (!ActorCodeBuilder.TryGetKnownTypes(interfaceId, out var interfaceDetails))
            {
                throw new ArgumentException("No interface found with this Id  " + interfaceId);
            }

            return(interfaceDetails);
        }
Exemple #3
0
        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));
        }