コード例 #1
0
        /// <nodoc />
        public ServicePipDaemon(IParser parser, DaemonConfig daemonConfig, IIpcLogger logger, IIpcProvider rpcProvider = null, Client client = null)
        {
            Contract.Requires(daemonConfig != null);

            Config    = daemonConfig;
            m_parser  = parser;
            ApiClient = client;
            m_logger  = logger;

            rpcProvider = rpcProvider ?? IpcFactory.GetProvider();
            m_server    = rpcProvider.GetServer(Config.Moniker, Config);

            m_etwLogger = new BuildXLBasedCloudBuildLogger(Config.Logger, Config.EnableCloudBuildIntegration);
        }
コード例 #2
0
        /// <summary>
        ///     Logs a generic <see cref="DropOperationBaseEvent"/> by delegating based on the type of <paramref name="e"/>.
        /// </summary>
        public static void Log(this ICloudBuildLogger logger, DropOperationBaseEvent e)
        {
            switch (e.Kind)
            {
            case EventKind.DropCreation:
                logger.Log((DropCreationEvent)e);
                return;

            case EventKind.DropFinalization:
                logger.Log((DropFinalizationEvent)e);
                return;

            default:
                Contract.Assert(false, "Unsupported " + nameof(DropOperationBaseEvent) + " " + e.Kind);
                return;
            }
        }
コード例 #3
0
        /// <nodoc />
        public Daemon(IParser parser, DaemonConfig daemonConfig, DropConfig dropConfig, Task <IDropClient> dropClientTask, IIpcProvider rpcProvider = null, Client client = null)
        {
            Contract.Requires(daemonConfig != null);
            Contract.Requires(dropConfig != null);

            Config     = daemonConfig;
            DropConfig = dropConfig;
            m_parser   = parser;
            ApiClient  = client;
            m_logger   = !string.IsNullOrWhiteSpace(dropConfig.LogDir) ? new FileLogger(dropConfig.LogDir, LogFileName, Config.Moniker, dropConfig.Verbose, DropDLogPrefix) : Config.Logger;
            m_logger.Info("Using DropDaemon config: " + JsonConvert.SerializeObject(Config));

            rpcProvider = rpcProvider ?? IpcFactory.GetProvider();
            m_server    = rpcProvider.GetServer(Config.Moniker, Config);

            m_etwLogger      = new BuildXLBasedCloudBuildLogger(Config.Logger, Config.EnableCloudBuildIntegration);
            m_dropClientTask = dropClientTask ?? Task.Run(() => (IDropClient) new VsoClient(m_logger, dropConfig));
        }