Esempio n. 1
0
        private Deploy DeployFromProto(Proto.Msg.DeployData protoDeploy)
        {
            Config config;

            if (protoDeploy.ConfigSerializerId > 0) // TODO: should be protoDeploy.Config != null. But it always not null
            {
                config = system.Serialization.Deserialize(
                    protoDeploy.Config.ToByteArray(),
                    protoDeploy.ConfigSerializerId,
                    protoDeploy.ConfigManifest).AsInstanceOf <Config>();
            }
            else
            {
                config = Config.Empty;
            }


            RouterConfig routerConfig;

            if (protoDeploy.RouterConfigSerializerId > 0) // TODO: should be protoDeploy.RouterConfig != null. But it always not null
            {
                routerConfig = system.Serialization.Deserialize(
                    protoDeploy.RouterConfig.ToByteArray(),
                    protoDeploy.RouterConfigSerializerId,
                    protoDeploy.RouterConfigManifest).AsInstanceOf <RouterConfig>();
            }
            else
            {
                routerConfig = NoRouter.Instance;
            }

            Scope scope;

            if (protoDeploy.ScopeSerializerId > 0) // TODO: should be protoDeploy.Scope != null. But it always not null
            {
                scope = system.Serialization.Deserialize(
                    protoDeploy.Scope.ToByteArray(),
                    protoDeploy.ScopeSerializerId,
                    protoDeploy.ScopeManifest).AsInstanceOf <Scope>();
            }
            else
            {
                scope = Deploy.NoScopeGiven;
            }

            var dispatcher = !string.IsNullOrEmpty(protoDeploy.Dispatcher)
                ? protoDeploy.Dispatcher
                : Deploy.NoDispatcherGiven;

            return(new Deploy(protoDeploy.Path, config, routerConfig, scope, dispatcher));
        }
Esempio n. 2
0
        //
        // Deploy
        //
        private Proto.Msg.DeployData DeployToProto(Deploy deploy)
        {
            var deployBuilder = new Proto.Msg.DeployData();

            deployBuilder.Path = deploy.Path;

            {
                var tuple = Serialize(deploy.Config);
                deployBuilder.ConfigSerializerId = tuple.Item1;
                deployBuilder.ConfigManifest     = tuple.Item3;
                deployBuilder.Config             = ByteString.CopyFrom(tuple.Item4);
            }

            if (deploy.RouterConfig != NoRouter.Instance)
            {
                var tuple = Serialize(deploy.RouterConfig);
                deployBuilder.RouterConfigSerializerId = tuple.Item1;
                deployBuilder.RouterConfigManifest     = tuple.Item3;
                deployBuilder.RouterConfig             = ByteString.CopyFrom(tuple.Item4);
            }

            if (deploy.Scope != Deploy.NoScopeGiven)
            {
                var tuple = Serialize(deploy.Scope);
                deployBuilder.ScopeSerializerId = tuple.Item1;
                deployBuilder.ScopeManifest     = tuple.Item3;
                deployBuilder.Scope             = ByteString.CopyFrom(tuple.Item4);
            }

            if (deploy.Dispatcher != Deploy.NoDispatcherGiven)
            {
                deployBuilder.Dispatcher = deploy.Dispatcher;
            }

            return(deployBuilder);
        }