Example #1
0
        public IProcess MakeProcess(uint processId)
        {
            Process process = new Process(processId, Host);

            ServiceBuilder serviceBuilder = new ServiceBuilder(process);
            foreach(var b in buildSteps)
            {
                b(serviceBuilder);
            }

            process.DefineExtensions(serviceBuilder);

            PlacementBuilder placementBuilder = new PlacementBuilder(process, NumberProcesses);
            foreach (var p in serviceBuilder.Placements)
            {
                p(placementBuilder);
            }


            process.FinalizePlacement();
            process.Serializer = new Serializer(Host.SerializableTypes);
            process.DeepCopier = new DefaultDeepCopier(Host);
            process.Telemetry = Host.GetTelemetryListener();
            process.ConfigureLogging();
            process.ClearState();

            return process;
        }