Ejemplo n.º 1
0
        //[Dependency]
        //public SafetyMonitorReceiver SafetyMonitorReceiver { private get; set; }

        //[Dependency]
        //public LivenessMonitorReceiver LivenessMonitorReceiver { private get; set; }

        public void Load(MainMonitorsViewModel vm)
        {
            var messages = new MessageCollection();
            var ctx      = new DistributedStorageContext();

            vm.Messages = messages;
            vm.Context  = ctx;
            NewMonitors(ctx, messages);

            ProcessExecutor.StartProcess(@"..\..\..\DistributedStorage.Remoting.Servers\bin\Debug\DistributedStorage.Remoting.Servers.exe", ctx.ToJson().ToCommandLineArgument());
        }
Ejemplo n.º 2
0
        static void NewStorageNodes(RuntimeHost runtimeHost, DistributedStorageContext ctx, MessageCollection messages)
        {
            var configure    = new ConfigureStorageNode(messages, ctx.SafetyMonitor);
            var storageNodes = new List <IStorageNodeSender>();

            for (var i = 0; i < 3; i++)
            {
                var storageNode = runtimeHost.New(MachineInterface.Sender <IStorageNodeSender>().Bundler <IStorageNodeBundler>().Receiver <StorageNodeReceiver>());
                storageNode.Configure(configure);
                storageNode.Handshake(new HandshakeStorageNode(ctx.Server));
                storageNodes.Add(storageNode);
            }
            ctx.SafetyMonitor.Handshake(new HandshakeSafetyMonitor(storageNodes.ToArray()));
            ctx.StorageNodes = storageNodes.ToArray();
        }
Ejemplo n.º 3
0
 public void NewServer(DistributedStorageContext ctx, MessageCollection messages)
 {
     ctx.Server = RuntimeHost.New(MachineInterface.Sender <IServerSender>().Bundler <IServerBundler>().Receiver <ServerReceiver>());
     ctx.Server.Configure(new ConfigureServer(messages, ctx.SafetyMonitor, ctx.LivenessMonitor));
 }
Ejemplo n.º 4
0
 public void NewMonitors(DistributedStorageContext ctx, MessageCollection messages)
 {
     ctx.SafetyMonitor = RuntimeHost.New(MonitorInterface.Sender <ISafetyMonitorSender>().Bundler <ISafetyMonitorBundler>().Receiver <SafetyMonitorReceiver>());
     ctx.SafetyMonitor.Configure(new ConfigureSafetyMonitor(messages));
     ctx.LivenessMonitor = RuntimeHost.New(MonitorInterface.Sender <ILivenessMonitorSender>().Bundler <ILivenessMonitorBundler>().Receiver <LivenessMonitorReceiver>());
 }
Ejemplo n.º 5
0
 public void NewClient(DistributedStorageContext ctx, MessageCollection messages)
 {
     ctx.Client = RuntimeHost.New(MachineInterface.Sender <IClientSender>().Bundler <IClientBundler>().Receiver <ClientReceiver>());
     ctx.Client.Configure(new ConfigureClient(messages, ctx.Server));
     ctx.Server.Handshake(new HandshakeServer(ctx.Client, ctx.StorageNodes));
 }