コード例 #1
0
        private ITransportConfig GetDebugServiceTransport()
        {
            _logger.Log(PsesLogLevel.Diagnostic, "Configuring debug transport");

            if (Stdio)
            {
                if (DebugServiceOnly)
                {
                    return(new StdioTransportConfig());
                }

                _logger.Log(PsesLogLevel.Diagnostic, "No debug transport: Transport is Stdio with debug disabled");
                return(null);
            }

            if (DebugServiceInPipeName != null && DebugServiceOutPipeName != null)
            {
                return(SimplexNamedPipeTransportConfig.Create(DebugServiceInPipeName, DebugServiceOutPipeName));
            }

            if (SplitInOutPipes)
            {
                return(SimplexNamedPipeTransportConfig.Create(DebugServicePipeName));
            }

            return(DuplexNamedPipeTransportConfig.Create(DebugServicePipeName));
        }
コード例 #2
0
        private ITransportConfig GetLanguageServiceTransport()
        {
            _logger.Log(PsesLogLevel.Diagnostic, "Configuring LSP transport");

            if (DebugServiceOnly)
            {
                _logger.Log(PsesLogLevel.Diagnostic, "No LSP transport: PSES is debug only");
                return(null);
            }

            if (Stdio)
            {
                return(new StdioTransportConfig());
            }

            if (LanguageServiceInPipeName != null && LanguageServiceOutPipeName != null)
            {
                return(SimplexNamedPipeTransportConfig.Create(LanguageServiceInPipeName, LanguageServiceOutPipeName));
            }

            if (SplitInOutPipes)
            {
                return(SimplexNamedPipeTransportConfig.Create(LanguageServicePipeName));
            }

            return(DuplexNamedPipeTransportConfig.Create(LanguageServicePipeName));
        }