Exemplo n.º 1
0
        private Props PropsFromProto(Proto.Msg.PropsData protoProps)
        {
            var actorClass = Type.GetType(protoProps.Clazz);
            var args       = new object[protoProps.Args.Count];

            for (int i = 0; i < args.Length; i++)
            {
                args[i] = system.Serialization.Deserialize(
                    protoProps.Args[i].ToByteArray(),
                    protoProps.SerializerIds[i],
                    protoProps.Manifests[i]
                    );
            }

            return(new Props(DeployFromProto(protoProps.Deploy), actorClass, args));
        }
Exemplo n.º 2
0
        //
        // Props
        //
        private Proto.Msg.PropsData PropsToProto(Props props)
        {
            var propsBuilder = new Proto.Msg.PropsData();

            propsBuilder.Clazz  = props.Type.TypeQualifiedName();
            propsBuilder.Deploy = DeployToProto(props.Deploy);
            foreach (var arg in props.Arguments)
            {
                var tuple = Serialize(arg);

                propsBuilder.Args.Add(ByteString.CopyFrom(tuple.Item4));
                propsBuilder.Manifests.Add(tuple.Item3);
                propsBuilder.SerializerIds.Add(tuple.Item1);
                propsBuilder.HasManifest.Add(tuple.Item2);
            }

            return(propsBuilder);
        }