mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-30 00:22:40 +01:00
Deploy code docs to GitHub Pages for workflow run 3642
Commit: 21cc0abb2e
This commit is contained in:
+490
-492
File diff suppressed because it is too large
Load Diff
@@ -215,6 +215,10 @@ Components:
|
||||
- 'nix: bump up sha256 of fixed deviation'
|
||||
Author: Lorwp
|
||||
PullRequest: 2109
|
||||
- Descriptions:
|
||||
- Fixed IRC provider not being able to send update messages for non-GitHub repositories.
|
||||
Author: Cyberboss
|
||||
PullRequest: 2136
|
||||
Unreleased: true
|
||||
- Version: 6.13.0
|
||||
ComponentVersions:
|
||||
|
||||
+382
-384
@@ -506,7 +506,7 @@ Additional Inherited Members</h2></td></tr>
|
||||
<div class="line"><span class="lineno"> 151</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a3170ebdb4e8568868efd3b1c1764bf38">channelIdCounter</a> = 1;</div>
|
||||
<div class="line"><span class="lineno"> 152</span> }</div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_api_1_1_models_1_1_irc_connection_string_builder_html"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_api_1_1_models_1_1_irc_connection_string_builder.html">Tgstation.Server.Api.Models.IrcConnectionStringBuilder</a></div><div class="ttdoc">ChatConnectionStringBuilder for ChatProvider.Irc.</div><div class="ttdef"><b>Definition</b> <a href="_irc_connection_string_builder_8cs_source.html#l00012">IrcConnectionStringBuilder.cs:13</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_a036341a13aed727a56c3dfe047f8b22d"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a036341a13aed727a56c3dfe047f8b22d">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.InstantiateClient</a></div><div class="ttdeci">IrcFeatures InstantiateClient()</div><div class="ttdoc">Creates a new instance of the IRC client. Reusing the same client after a disconnection seems to caus...</div><div class="ttdef"><b>Definition</b> <a href="_irc_provider_8cs_source.html#l00721">IrcProvider.cs:721</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_a036341a13aed727a56c3dfe047f8b22d"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a036341a13aed727a56c3dfe047f8b22d">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.InstantiateClient</a></div><div class="ttdeci">IrcFeatures InstantiateClient()</div><div class="ttdoc">Creates a new instance of the IRC client. Reusing the same client after a disconnection seems to caus...</div><div class="ttdef"><b>Definition</b> <a href="_irc_provider_8cs_source.html#l00719">IrcProvider.cs:719</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_a0433774b2a628d0db82e9d697e5553e4"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0433774b2a628d0db82e9d697e5553e4">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.assemblyInfo</a></div><div class="ttdeci">readonly IAssemblyInformationProvider assemblyInfo</div><div class="ttdoc">The IAssemblyInformationProvider obtained from constructor, used for the CTCP version string.</div><div class="ttdef"><b>Definition</b> <a href="_irc_provider_8cs_source.html#l00089">IrcProvider.cs:89</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_a0a16e9a0617d8e75740478a5d68a4420"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0a16e9a0617d8e75740478a5d68a4420">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.port</a></div><div class="ttdeci">readonly ushort port</div><div class="ttdoc">Port of the server to connect to.</div><div class="ttdef"><b>Definition</b> <a href="_irc_provider_8cs_source.html#l00054">IrcProvider.cs:54</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_a0af57fc7dec5c5f69ae6ba15756031a7"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0af57fc7dec5c5f69ae6ba15756031a7">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.password</a></div><div class="ttdeci">readonly string password</div><div class="ttdoc">Password which will used for authentication.</div><div class="ttdef"><b>Definition</b> <a href="_irc_provider_8cs_source.html#l00069">IrcProvider.cs:69</a></div></div>
|
||||
@@ -521,7 +521,7 @@ Additional Inherited Members</h2></td></tr>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_afc406181b51f0d1bdf61171e21c41b64"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#afc406181b51f0d1bdf61171e21c41b64">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.channelIdMap</a></div><div class="ttdeci">readonly Dictionary< ulong, string?> channelIdMap</div><div class="ttdoc">Map of ChannelRepresentation.RealIds to channel names.</div><div class="ttdef"><b>Definition</b> <a href="_irc_provider_8cs_source.html#l00079">IrcProvider.cs:79</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider_html_aa36ffb34c69e4a990830e49f97b7c142"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#aa36ffb34c69e4a990830e49f97b7c142">Tgstation.Server.Host.Components.Chat.Providers.Provider.jobManager</a></div><div class="ttdeci">readonly IJobManager jobManager</div><div class="ttdoc">The IJobManager for the Provider.</div><div class="ttdef"><b>Definition</b> <a href="_provider_8cs_source.html#l00040">Provider.cs:40</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
<p class="reference">References <a class="el" href="_irc_provider_8cs_source.html#l00049">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.address</a>, <a class="el" href="_irc_provider_8cs_source.html#l00089">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.assemblyInfo</a>, <a class="el" href="_irc_provider_8cs_source.html#l00109">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.channelIdCounter</a>, <a class="el" href="_irc_provider_8cs_source.html#l00079">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.channelIdMap</a>, <a class="el" href="_irc_provider_8cs_source.html#l00099">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.client</a>, <a class="el" href="_irc_provider_8cs_source.html#l00721">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.InstantiateClient()</a>, <a class="el" href="_irc_provider_8cs_source.html#l00094">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.loggingConfiguration</a>, <a class="el" href="_irc_provider_8cs_source.html#l00064">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.nickname</a>, <a class="el" href="_irc_provider_8cs_source.html#l00069">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.password</a>, <a class="el" href="_irc_provider_8cs_source.html#l00074">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.passwordType</a>, <a class="el" href="_irc_provider_8cs_source.html#l00054">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.port</a>, <a class="el" href="_irc_provider_8cs_source.html#l00084">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.queryChannelIdMap</a>, and <a class="el" href="_irc_provider_8cs_source.html#l00059">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.ssl</a>.</p>
|
||||
<p class="reference">References <a class="el" href="_irc_provider_8cs_source.html#l00049">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.address</a>, <a class="el" href="_irc_provider_8cs_source.html#l00089">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.assemblyInfo</a>, <a class="el" href="_irc_provider_8cs_source.html#l00109">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.channelIdCounter</a>, <a class="el" href="_irc_provider_8cs_source.html#l00079">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.channelIdMap</a>, <a class="el" href="_irc_provider_8cs_source.html#l00099">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.client</a>, <a class="el" href="_irc_provider_8cs_source.html#l00719">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.InstantiateClient()</a>, <a class="el" href="_irc_provider_8cs_source.html#l00094">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.loggingConfiguration</a>, <a class="el" href="_irc_provider_8cs_source.html#l00064">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.nickname</a>, <a class="el" href="_irc_provider_8cs_source.html#l00069">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.password</a>, <a class="el" href="_irc_provider_8cs_source.html#l00074">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.passwordType</a>, <a class="el" href="_irc_provider_8cs_source.html#l00054">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.port</a>, <a class="el" href="_irc_provider_8cs_source.html#l00084">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.queryChannelIdMap</a>, and <a class="el" href="_irc_provider_8cs_source.html#l00059">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.ssl</a>.</p>
|
||||
<div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -652,82 +652,82 @@ Here is the call graph for this function:</div>
|
||||
|
||||
<p></p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_irc_provider_8cs_source.html#l00367">367</a> of file <a class="el" href="_irc_provider_8cs_source.html">IrcProvider.cs</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 368</span> {</div>
|
||||
<div class="line"><span class="lineno"> 369</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 370</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><span class="lineno"> 371</span> {</div>
|
||||
<div class="line"><span class="lineno"> 372</span> await Task.Factory.StartNew(</div>
|
||||
<div class="line"><span class="lineno"> 373</span> () =></div>
|
||||
<div class="line"><span class="lineno"> 374</span> {</div>
|
||||
<div class="line"><span class="lineno"> 375</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a> = <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a036341a13aed727a56c3dfe047f8b22d">InstantiateClient</a>();</div>
|
||||
<div class="line"><span class="lineno"> 376</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.Connect(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a5b89ca154b65b12e53b6dca3ceeb0243">address</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0a16e9a0617d8e75740478a5d68a4420">port</a>);</div>
|
||||
<div class="line"><span class="lineno"> 377</span> },</div>
|
||||
<div class="line"><span class="lineno"> 378</span> cancellationToken,</div>
|
||||
<div class="line"><span class="lineno"> 379</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html">DefaultIOManager</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html#ac6dfeef4e622bb46047169215099995d">BlockingTaskCreationOptions</a>,</div>
|
||||
<div class="line"><span class="lineno"> 380</span> TaskScheduler.Current)</div>
|
||||
<div class="line"><span class="lineno"> 381</span> .WaitAsync(cancellationToken);</div>
|
||||
<p class="definition">Definition at line <a class="el" href="_irc_provider_8cs_source.html#l00365">365</a> of file <a class="el" href="_irc_provider_8cs_source.html">IrcProvider.cs</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 366</span> {</div>
|
||||
<div class="line"><span class="lineno"> 367</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 368</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><span class="lineno"> 369</span> {</div>
|
||||
<div class="line"><span class="lineno"> 370</span> await Task.Factory.StartNew(</div>
|
||||
<div class="line"><span class="lineno"> 371</span> () =></div>
|
||||
<div class="line"><span class="lineno"> 372</span> {</div>
|
||||
<div class="line"><span class="lineno"> 373</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a> = <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a036341a13aed727a56c3dfe047f8b22d">InstantiateClient</a>();</div>
|
||||
<div class="line"><span class="lineno"> 374</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.Connect(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a5b89ca154b65b12e53b6dca3ceeb0243">address</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0a16e9a0617d8e75740478a5d68a4420">port</a>);</div>
|
||||
<div class="line"><span class="lineno"> 375</span> },</div>
|
||||
<div class="line"><span class="lineno"> 376</span> cancellationToken,</div>
|
||||
<div class="line"><span class="lineno"> 377</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html">DefaultIOManager</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html#ac6dfeef4e622bb46047169215099995d">BlockingTaskCreationOptions</a>,</div>
|
||||
<div class="line"><span class="lineno"> 378</span> TaskScheduler.Current)</div>
|
||||
<div class="line"><span class="lineno"> 379</span> .WaitAsync(cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 380</span> </div>
|
||||
<div class="line"><span class="lineno"> 381</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 382</span> </div>
|
||||
<div class="line"><span class="lineno"> 383</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 384</span> </div>
|
||||
<div class="line"><span class="lineno"> 385</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aee0aec79bf8ad9a76c786f84fd2d0e16">listenTask</a> = Task.Factory.StartNew(</div>
|
||||
<div class="line"><span class="lineno"> 386</span> () =></div>
|
||||
<div class="line"><span class="lineno"> 387</span> {</div>
|
||||
<div class="line"><span class="lineno"> 388</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Starting blocking listen..."</span>);</div>
|
||||
<div class="line"><span class="lineno"> 389</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><span class="lineno"> 390</span> {</div>
|
||||
<div class="line"><span class="lineno"> 391</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.Listen();</div>
|
||||
<div class="line"><span class="lineno"> 392</span> }</div>
|
||||
<div class="line"><span class="lineno"> 393</span> <span class="keywordflow">catch</span> (<a class="code hl_class" href="class_exception.html">Exception</a> ex)</div>
|
||||
<div class="line"><span class="lineno"> 394</span> {</div>
|
||||
<div class="line"><span class="lineno"> 395</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogWarning(ex, <span class="stringliteral">"IRC Main Listen Exception!"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 396</span> }</div>
|
||||
<div class="line"><span class="lineno"> 397</span> </div>
|
||||
<div class="line"><span class="lineno"> 398</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Exiting listening task..."</span>);</div>
|
||||
<div class="line"><span class="lineno"> 399</span> },</div>
|
||||
<div class="line"><span class="lineno"> 400</span> cancellationToken,</div>
|
||||
<div class="line"><span class="lineno"> 401</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html">DefaultIOManager</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html#ac6dfeef4e622bb46047169215099995d">BlockingTaskCreationOptions</a>,</div>
|
||||
<div class="line"><span class="lineno"> 402</span> TaskScheduler.Current);</div>
|
||||
<div class="line"><span class="lineno"> 403</span> </div>
|
||||
<div class="line"><span class="lineno"> 404</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Authenticating ({passwordType})..."</span>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a6d496510a7558d62c26d917a51226264">passwordType</a>);</div>
|
||||
<div class="line"><span class="lineno"> 405</span> <span class="keywordflow">switch</span> (<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a6d496510a7558d62c26d917a51226264">passwordType</a>)</div>
|
||||
<div class="line"><span class="lineno"> 406</span> {</div>
|
||||
<div class="line"><span class="lineno"> 407</span> <span class="keywordflow">case</span> <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_models.html#a0a41c646f859c99d437373d8e6e0545b">IrcPasswordType</a>.Server:</div>
|
||||
<div class="line"><span class="lineno"> 408</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.RfcPass(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0af57fc7dec5c5f69ae6ba15756031a7">password</a>);</div>
|
||||
<div class="line"><span class="lineno"> 409</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a729a8a53939e5deca2b10eef8525706a">Login</a>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 410</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><span class="lineno"> 411</span> <span class="keywordflow">case</span> <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_models.html#a0a41c646f859c99d437373d8e6e0545b">IrcPasswordType</a>.NickServ:</div>
|
||||
<div class="line"><span class="lineno"> 412</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a729a8a53939e5deca2b10eef8525706a">Login</a>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 413</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 414</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.SendMessage(SendType.Message, <span class="stringliteral">"NickServ"</span>, String.Format(CultureInfo.InvariantCulture, <span class="stringliteral">"IDENTIFY {0}"</span>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0af57fc7dec5c5f69ae6ba15756031a7">password</a>));</div>
|
||||
<div class="line"><span class="lineno"> 415</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><span class="lineno"> 416</span> <span class="keywordflow">case</span> <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_models.html#a0a41c646f859c99d437373d8e6e0545b">IrcPasswordType</a>.Sasl:</div>
|
||||
<div class="line"><span class="lineno"> 417</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a5b30064a48cd1e867809ea7d5de7dd7a">SaslAuthenticate</a>(cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 418</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><span class="lineno"> 419</span> <span class="keywordflow">case</span> <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_models.html#a0a41c646f859c99d437373d8e6e0545b">IrcPasswordType</a>.Oper:</div>
|
||||
<div class="line"><span class="lineno"> 420</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a729a8a53939e5deca2b10eef8525706a">Login</a>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 421</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 422</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.RfcOper(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0af57fc7dec5c5f69ae6ba15756031a7">password</a>, Priority.Critical);</div>
|
||||
<div class="line"><span class="lineno"> 423</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><span class="lineno"> 424</span> <span class="keywordflow">case</span> <span class="keyword">null</span>:</div>
|
||||
<div class="line"><span class="lineno"> 425</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a729a8a53939e5deca2b10eef8525706a">Login</a>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 426</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><span class="lineno"> 427</span> <span class="keywordflow">default</span>:</div>
|
||||
<div class="line"><span class="lineno"> 428</span> <span class="keywordflow">throw</span> <span class="keyword">new</span> InvalidOperationException($<span class="stringliteral">"Invalid IrcPasswordType: {passwordType.Value}"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 429</span> }</div>
|
||||
<div class="line"><span class="lineno"> 383</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aee0aec79bf8ad9a76c786f84fd2d0e16">listenTask</a> = Task.Factory.StartNew(</div>
|
||||
<div class="line"><span class="lineno"> 384</span> () =></div>
|
||||
<div class="line"><span class="lineno"> 385</span> {</div>
|
||||
<div class="line"><span class="lineno"> 386</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Starting blocking listen..."</span>);</div>
|
||||
<div class="line"><span class="lineno"> 387</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><span class="lineno"> 388</span> {</div>
|
||||
<div class="line"><span class="lineno"> 389</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.Listen();</div>
|
||||
<div class="line"><span class="lineno"> 390</span> }</div>
|
||||
<div class="line"><span class="lineno"> 391</span> <span class="keywordflow">catch</span> (<a class="code hl_class" href="class_exception.html">Exception</a> ex)</div>
|
||||
<div class="line"><span class="lineno"> 392</span> {</div>
|
||||
<div class="line"><span class="lineno"> 393</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogWarning(ex, <span class="stringliteral">"IRC Main Listen Exception!"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 394</span> }</div>
|
||||
<div class="line"><span class="lineno"> 395</span> </div>
|
||||
<div class="line"><span class="lineno"> 396</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Exiting listening task..."</span>);</div>
|
||||
<div class="line"><span class="lineno"> 397</span> },</div>
|
||||
<div class="line"><span class="lineno"> 398</span> cancellationToken,</div>
|
||||
<div class="line"><span class="lineno"> 399</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html">DefaultIOManager</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html#ac6dfeef4e622bb46047169215099995d">BlockingTaskCreationOptions</a>,</div>
|
||||
<div class="line"><span class="lineno"> 400</span> TaskScheduler.Current);</div>
|
||||
<div class="line"><span class="lineno"> 401</span> </div>
|
||||
<div class="line"><span class="lineno"> 402</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Authenticating ({passwordType})..."</span>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a6d496510a7558d62c26d917a51226264">passwordType</a>);</div>
|
||||
<div class="line"><span class="lineno"> 403</span> <span class="keywordflow">switch</span> (<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a6d496510a7558d62c26d917a51226264">passwordType</a>)</div>
|
||||
<div class="line"><span class="lineno"> 404</span> {</div>
|
||||
<div class="line"><span class="lineno"> 405</span> <span class="keywordflow">case</span> <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_models.html#a0a41c646f859c99d437373d8e6e0545b">IrcPasswordType</a>.Server:</div>
|
||||
<div class="line"><span class="lineno"> 406</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.RfcPass(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0af57fc7dec5c5f69ae6ba15756031a7">password</a>);</div>
|
||||
<div class="line"><span class="lineno"> 407</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a729a8a53939e5deca2b10eef8525706a">Login</a>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 408</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><span class="lineno"> 409</span> <span class="keywordflow">case</span> <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_models.html#a0a41c646f859c99d437373d8e6e0545b">IrcPasswordType</a>.NickServ:</div>
|
||||
<div class="line"><span class="lineno"> 410</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a729a8a53939e5deca2b10eef8525706a">Login</a>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 411</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 412</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.SendMessage(SendType.Message, <span class="stringliteral">"NickServ"</span>, String.Format(CultureInfo.InvariantCulture, <span class="stringliteral">"IDENTIFY {0}"</span>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0af57fc7dec5c5f69ae6ba15756031a7">password</a>));</div>
|
||||
<div class="line"><span class="lineno"> 413</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><span class="lineno"> 414</span> <span class="keywordflow">case</span> <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_models.html#a0a41c646f859c99d437373d8e6e0545b">IrcPasswordType</a>.Sasl:</div>
|
||||
<div class="line"><span class="lineno"> 415</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a5b30064a48cd1e867809ea7d5de7dd7a">SaslAuthenticate</a>(cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 416</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><span class="lineno"> 417</span> <span class="keywordflow">case</span> <a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_models.html#a0a41c646f859c99d437373d8e6e0545b">IrcPasswordType</a>.Oper:</div>
|
||||
<div class="line"><span class="lineno"> 418</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a729a8a53939e5deca2b10eef8525706a">Login</a>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 419</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 420</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.RfcOper(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0af57fc7dec5c5f69ae6ba15756031a7">password</a>, Priority.Critical);</div>
|
||||
<div class="line"><span class="lineno"> 421</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><span class="lineno"> 422</span> <span class="keywordflow">case</span> <span class="keyword">null</span>:</div>
|
||||
<div class="line"><span class="lineno"> 423</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a729a8a53939e5deca2b10eef8525706a">Login</a>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 424</span> <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><span class="lineno"> 425</span> <span class="keywordflow">default</span>:</div>
|
||||
<div class="line"><span class="lineno"> 426</span> <span class="keywordflow">throw</span> <span class="keyword">new</span> InvalidOperationException($<span class="stringliteral">"Invalid IrcPasswordType: {passwordType.Value}"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 427</span> }</div>
|
||||
<div class="line"><span class="lineno"> 428</span> </div>
|
||||
<div class="line"><span class="lineno"> 429</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 430</span> </div>
|
||||
<div class="line"><span class="lineno"> 431</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 432</span> </div>
|
||||
<div class="line"><span class="lineno"> 433</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Connection established!"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 434</span> }</div>
|
||||
<div class="line"><span class="lineno"> 435</span> <span class="keywordflow">catch</span> (<a class="code hl_class" href="class_exception.html">Exception</a> e) when (e is not OperationCanceledException)</div>
|
||||
<div class="line"><span class="lineno"> 436</span> {</div>
|
||||
<div class="line"><span class="lineno"> 437</span> <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_jobs_1_1_job_exception.html">JobException</a>(<a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_models.html#a1a6adb59dd51244efabf4e548e7075c8">ErrorCode</a>.ChatCannotConnectProvider, e);</div>
|
||||
<div class="line"><span class="lineno"> 438</span> }</div>
|
||||
<div class="line"><span class="lineno"> 439</span> }</div>
|
||||
<div class="line"><span class="lineno"> 431</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Connection established!"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 432</span> }</div>
|
||||
<div class="line"><span class="lineno"> 433</span> <span class="keywordflow">catch</span> (<a class="code hl_class" href="class_exception.html">Exception</a> e) when (e is not OperationCanceledException)</div>
|
||||
<div class="line"><span class="lineno"> 434</span> {</div>
|
||||
<div class="line"><span class="lineno"> 435</span> <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_jobs_1_1_job_exception.html">JobException</a>(<a class="code hl_enumeration" href="namespace_tgstation_1_1_server_1_1_api_1_1_models.html#a1a6adb59dd51244efabf4e548e7075c8">ErrorCode</a>.ChatCannotConnectProvider, e);</div>
|
||||
<div class="line"><span class="lineno"> 436</span> }</div>
|
||||
<div class="line"><span class="lineno"> 437</span> }</div>
|
||||
<div class="ttc" id="aclass_exception_html"><div class="ttname"><a href="class_exception.html">Exception</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_a5b30064a48cd1e867809ea7d5de7dd7a"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a5b30064a48cd1e867809ea7d5de7dd7a">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.SaslAuthenticate</a></div><div class="ttdeci">async ValueTask SaslAuthenticate(CancellationToken cancellationToken)</div><div class="ttdoc">Run SASL authentication on client.</div><div class="ttdef"><b>Definition</b> <a href="_irc_provider_8cs_source.html#l00611">IrcProvider.cs:611</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_a729a8a53939e5deca2b10eef8525706a"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a729a8a53939e5deca2b10eef8525706a">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.Login</a></div><div class="ttdeci">async ValueTask Login(IrcFeatures client, string nickname, CancellationToken cancellationToken)</div><div class="ttdoc">Register the client on the network.</div><div class="ttdef"><b>Definition</b> <a href="_irc_provider_8cs_source.html#l00481">IrcProvider.cs:481</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_a5b30064a48cd1e867809ea7d5de7dd7a"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a5b30064a48cd1e867809ea7d5de7dd7a">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.SaslAuthenticate</a></div><div class="ttdeci">async ValueTask SaslAuthenticate(CancellationToken cancellationToken)</div><div class="ttdoc">Run SASL authentication on client.</div><div class="ttdef"><b>Definition</b> <a href="_irc_provider_8cs_source.html#l00609">IrcProvider.cs:609</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_a729a8a53939e5deca2b10eef8525706a"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a729a8a53939e5deca2b10eef8525706a">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.Login</a></div><div class="ttdeci">async ValueTask Login(IrcFeatures client, string nickname, CancellationToken cancellationToken)</div><div class="ttdoc">Register the client on the network.</div><div class="ttdef"><b>Definition</b> <a href="_irc_provider_8cs_source.html#l00479">IrcProvider.cs:479</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_aee0aec79bf8ad9a76c786f84fd2d0e16"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aee0aec79bf8ad9a76c786f84fd2d0e16">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.listenTask</a></div><div class="ttdeci">Task? listenTask</div><div class="ttdoc">The ValueTask used for IrcConnection.Listen(bool).</div><div class="ttdef"><b>Definition</b> <a href="_irc_provider_8cs_source.html#l00104">IrcProvider.cs:104</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider_html_ab24337ff80dfef1a9657f7106758a8c3"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Tgstation.Server.Host.Components.Chat.Providers.Provider.Logger</a></div><div class="ttdeci">ILogger< Provider > Logger</div><div class="ttdoc">The ILogger for the Provider.</div><div class="ttdef"><b>Definition</b> <a href="_provider_8cs_source.html#l00035">Provider.cs:35</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager_html"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html">Tgstation.Server.Host.IO.DefaultIOManager</a></div><div class="ttdoc">IIOManager that resolves paths to Environment.CurrentDirectory.</div><div class="ttdef"><b>Definition</b> <a href="_default_i_o_manager_8cs_source.html#l00016">DefaultIOManager.cs:17</a></div></div>
|
||||
@@ -766,37 +766,37 @@ Here is the call graph for this function:</div>
|
||||
|
||||
<p></p>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_irc_provider_8cs_source.html#l00442">442</a> of file <a class="el" href="_irc_provider_8cs_source.html">IrcProvider.cs</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 443</span> {</div>
|
||||
<div class="line"><span class="lineno"> 444</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><span class="lineno"> 445</span> {</div>
|
||||
<div class="line"><span class="lineno"> 446</span> await Task.Factory.StartNew(</div>
|
||||
<div class="line"><span class="lineno"> 447</span> () =></div>
|
||||
<div class="line"><span class="lineno"> 448</span> {</div>
|
||||
<div class="line"><span class="lineno"> 449</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><span class="lineno"> 450</span> {</div>
|
||||
<div class="line"><span class="lineno"> 451</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.RfcQuit(<span class="stringliteral">"Mr. Stark, I don't feel so good..."</span>, Priority.Critical); <span class="comment">// priocritical otherwise it wont go through</span></div>
|
||||
<div class="line"><span class="lineno"> 452</span> }</div>
|
||||
<div class="line"><span class="lineno"> 453</span> <span class="keywordflow">catch</span> (<a class="code hl_class" href="class_exception.html">Exception</a> e)</div>
|
||||
<div class="line"><span class="lineno"> 454</span> {</div>
|
||||
<div class="line"><span class="lineno"> 455</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogWarning(e, <span class="stringliteral">"Error quitting IRC!"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 456</span> }</div>
|
||||
<div class="line"><span class="lineno"> 457</span> },</div>
|
||||
<div class="line"><span class="lineno"> 458</span> cancellationToken,</div>
|
||||
<div class="line"><span class="lineno"> 459</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html">DefaultIOManager</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html#ac6dfeef4e622bb46047169215099995d">BlockingTaskCreationOptions</a>,</div>
|
||||
<div class="line"><span class="lineno"> 460</span> TaskScheduler.Current);</div>
|
||||
<div class="line"><span class="lineno"> 461</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a42facc7032e0b6c2e11c446774de6c89">HardDisconnect</a>(cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 462</span> }</div>
|
||||
<div class="line"><span class="lineno"> 463</span> <span class="keywordflow">catch</span> (OperationCanceledException)</div>
|
||||
<div class="line"><span class="lineno"> 464</span> {</div>
|
||||
<div class="line"><span class="lineno"> 465</span> <span class="keywordflow">throw</span>;</div>
|
||||
<div class="line"><span class="lineno"> 466</span> }</div>
|
||||
<div class="line"><span class="lineno"> 467</span> <span class="keywordflow">catch</span> (<a class="code hl_class" href="class_exception.html">Exception</a> e)</div>
|
||||
<div class="line"><span class="lineno"> 468</span> {</div>
|
||||
<div class="line"><span class="lineno"> 469</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogWarning(e, <span class="stringliteral">"Error disconnecting from IRC!"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 470</span> }</div>
|
||||
<div class="line"><span class="lineno"> 471</span> }</div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_a42facc7032e0b6c2e11c446774de6c89"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a42facc7032e0b6c2e11c446774de6c89">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.HardDisconnect</a></div><div class="ttdeci">async ValueTask HardDisconnect(CancellationToken cancellationToken)</div><div class="ttdoc">Attempt to disconnect from IRC immediately.</div><div class="ttdef"><b>Definition</b> <a href="_irc_provider_8cs_source.html#l00681">IrcProvider.cs:681</a></div></div>
|
||||
<p class="definition">Definition at line <a class="el" href="_irc_provider_8cs_source.html#l00440">440</a> of file <a class="el" href="_irc_provider_8cs_source.html">IrcProvider.cs</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 441</span> {</div>
|
||||
<div class="line"><span class="lineno"> 442</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><span class="lineno"> 443</span> {</div>
|
||||
<div class="line"><span class="lineno"> 444</span> await Task.Factory.StartNew(</div>
|
||||
<div class="line"><span class="lineno"> 445</span> () =></div>
|
||||
<div class="line"><span class="lineno"> 446</span> {</div>
|
||||
<div class="line"><span class="lineno"> 447</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><span class="lineno"> 448</span> {</div>
|
||||
<div class="line"><span class="lineno"> 449</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.RfcQuit(<span class="stringliteral">"Mr. Stark, I don't feel so good..."</span>, Priority.Critical); <span class="comment">// priocritical otherwise it wont go through</span></div>
|
||||
<div class="line"><span class="lineno"> 450</span> }</div>
|
||||
<div class="line"><span class="lineno"> 451</span> <span class="keywordflow">catch</span> (<a class="code hl_class" href="class_exception.html">Exception</a> e)</div>
|
||||
<div class="line"><span class="lineno"> 452</span> {</div>
|
||||
<div class="line"><span class="lineno"> 453</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogWarning(e, <span class="stringliteral">"Error quitting IRC!"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 454</span> }</div>
|
||||
<div class="line"><span class="lineno"> 455</span> },</div>
|
||||
<div class="line"><span class="lineno"> 456</span> cancellationToken,</div>
|
||||
<div class="line"><span class="lineno"> 457</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html">DefaultIOManager</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html#ac6dfeef4e622bb46047169215099995d">BlockingTaskCreationOptions</a>,</div>
|
||||
<div class="line"><span class="lineno"> 458</span> TaskScheduler.Current);</div>
|
||||
<div class="line"><span class="lineno"> 459</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a42facc7032e0b6c2e11c446774de6c89">HardDisconnect</a>(cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 460</span> }</div>
|
||||
<div class="line"><span class="lineno"> 461</span> <span class="keywordflow">catch</span> (OperationCanceledException)</div>
|
||||
<div class="line"><span class="lineno"> 462</span> {</div>
|
||||
<div class="line"><span class="lineno"> 463</span> <span class="keywordflow">throw</span>;</div>
|
||||
<div class="line"><span class="lineno"> 464</span> }</div>
|
||||
<div class="line"><span class="lineno"> 465</span> <span class="keywordflow">catch</span> (<a class="code hl_class" href="class_exception.html">Exception</a> e)</div>
|
||||
<div class="line"><span class="lineno"> 466</span> {</div>
|
||||
<div class="line"><span class="lineno"> 467</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogWarning(e, <span class="stringliteral">"Error disconnecting from IRC!"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 468</span> }</div>
|
||||
<div class="line"><span class="lineno"> 469</span> }</div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_a42facc7032e0b6c2e11c446774de6c89"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a42facc7032e0b6c2e11c446774de6c89">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.HardDisconnect</a></div><div class="ttdeci">async ValueTask HardDisconnect(CancellationToken cancellationToken)</div><div class="ttdoc">Attempt to disconnect from IRC immediately.</div><div class="ttdef"><b>Definition</b> <a href="_irc_provider_8cs_source.html#l00679">IrcProvider.cs:679</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
<p class="reference">References <a class="el" href="_default_i_o_manager_8cs_source.html#l00031">Tgstation.Server.Host.IO.DefaultIOManager.BlockingTaskCreationOptions</a>.</p>
|
||||
|
||||
@@ -837,7 +837,7 @@ Here is the call graph for this function:</div>
|
||||
<div class="line"><span class="lineno"> 160</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a42facc7032e0b6c2e11c446774de6c89">HardDisconnect</a>(CancellationToken.None);</div>
|
||||
<div class="line"><span class="lineno"> 161</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
<p class="reference">References <a class="el" href="_irc_provider_8cs_source.html#l00681">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.HardDisconnect()</a>.</p>
|
||||
<p class="reference">References <a class="el" href="_irc_provider_8cs_source.html#l00679">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.HardDisconnect()</a>.</p>
|
||||
<div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -896,59 +896,59 @@ Here is the call graph for this function:</div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_irc_provider_8cs_source.html#l00516">516</a> of file <a class="el" href="_irc_provider_8cs_source.html">IrcProvider.cs</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 517</span> {</div>
|
||||
<div class="line"><span class="lineno"> 518</span> <span class="keywordflow">if</span> (e.Data.Nick.Equals(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.Nickname, StringComparison.OrdinalIgnoreCase))</div>
|
||||
<div class="line"><span class="lineno"> 519</span> <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><span class="lineno"> 520</span> </div>
|
||||
<div class="line"><span class="lineno"> 521</span> var username = e.Data.Nick;</div>
|
||||
<div class="line"><span class="lineno"> 522</span> var channelName = isPrivate ? username : e.Data.Channel;</div>
|
||||
<div class="line"><span class="lineno"> 523</span> </div>
|
||||
<div class="line"><span class="lineno"> 524</span> ulong MapAndGetChannelId(Dictionary<ulong, string?> dicToCheck)</div>
|
||||
<div class="line"><span class="lineno"> 525</span> {</div>
|
||||
<div class="line"><span class="lineno"> 526</span> ulong? resultId = <span class="keyword">null</span>;</div>
|
||||
<div class="line"><span class="lineno"> 527</span> <span class="keywordflow">if</span> (!dicToCheck.Any(x =></div>
|
||||
<div class="line"><span class="lineno"> 528</span> {</div>
|
||||
<div class="line"><span class="lineno"> 529</span> if (x.Value != channelName)</div>
|
||||
<div class="line"><span class="lineno"> 530</span> return false;</div>
|
||||
<div class="line"><span class="lineno"> 531</span> resultId = x.Key;</div>
|
||||
<div class="line"><span class="lineno"> 532</span> return true;</div>
|
||||
<div class="line"><span class="lineno"> 533</span> }))</div>
|
||||
<div class="line"><span class="lineno"> 534</span> {</div>
|
||||
<div class="line"><span class="lineno"> 535</span> resultId = <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a3170ebdb4e8568868efd3b1c1764bf38">channelIdCounter</a>++;</div>
|
||||
<div class="line"><span class="lineno"> 536</span> dicToCheck.Add(resultId.Value, channelName);</div>
|
||||
<div class="line"><span class="lineno"> 537</span> <span class="keywordflow">if</span> (dicToCheck == <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aa1d881a293f002c54c639ed5ed6f251d">queryChannelIdMap</a>)</div>
|
||||
<div class="line"><span class="lineno"> 538</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#afc406181b51f0d1bdf61171e21c41b64">channelIdMap</a>.Add(resultId.Value, <span class="keyword">null</span>);</div>
|
||||
<div class="line"><span class="lineno"> 539</span> }</div>
|
||||
<div class="line"><span class="lineno"> 540</span> </div>
|
||||
<div class="line"><span class="lineno"> 541</span> <span class="keywordflow">return</span> resultId!.Value;</div>
|
||||
<div class="line"><span class="lineno"> 542</span> }</div>
|
||||
<div class="line"><span class="lineno"> 543</span> </div>
|
||||
<div class="line"><span class="lineno"> 544</span> ulong userId, channelId;</div>
|
||||
<div class="line"><span class="lineno"> 545</span> lock (<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>)</div>
|
||||
<div class="line"><span class="lineno"> 546</span> {</div>
|
||||
<div class="line"><span class="lineno"> 547</span> userId = MapAndGetChannelId(<span class="keyword">new</span> Dictionary<ulong, string?>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aa1d881a293f002c54c639ed5ed6f251d">queryChannelIdMap</a></div>
|
||||
<div class="line"><span class="lineno"> 548</span> .Cast<KeyValuePair<ulong, string?>>())); <span class="comment">// NRT my beloathed</span></div>
|
||||
<div class="line"><span class="lineno"> 549</span> channelId = isPrivate ? userId : MapAndGetChannelId(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#afc406181b51f0d1bdf61171e21c41b64">channelIdMap</a>);</div>
|
||||
<div class="line"><span class="lineno"> 550</span> }</div>
|
||||
<div class="line"><span class="lineno"> 551</span> </div>
|
||||
<div class="line"><span class="lineno"> 552</span> var channelFriendlyName = isPrivate ? String.Format(CultureInfo.InvariantCulture, <span class="stringliteral">"PM: {0}"</span>, channelName) : channelName;</div>
|
||||
<div class="line"><span class="lineno"> 553</span> var message = <span class="keyword">new</span> Message(</div>
|
||||
<div class="line"><span class="lineno"> 554</span> <span class="keyword">new</span> ChatUser(</div>
|
||||
<div class="line"><span class="lineno"> 555</span> <span class="keyword">new</span> ChannelRepresentation(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a5b89ca154b65b12e53b6dca3ceeb0243">address</a>, channelFriendlyName, channelId)</div>
|
||||
<div class="line"><span class="lineno"> 556</span> {</div>
|
||||
<div class="line"><span class="lineno"> 557</span> IsPrivateChannel = isPrivate,</div>
|
||||
<div class="line"><span class="lineno"> 558</span> EmbedsSupported = <span class="keyword">false</span>,</div>
|
||||
<div class="line"><span class="lineno"> 559</span> </div>
|
||||
<div class="line"><span class="lineno"> 560</span> <span class="comment">// isAdmin and Tag populated by manager</span></div>
|
||||
<div class="line"><span class="lineno"> 561</span> },</div>
|
||||
<div class="line"><span class="lineno"> 562</span> username,</div>
|
||||
<div class="line"><span class="lineno"> 563</span> username,</div>
|
||||
<div class="line"><span class="lineno"> 564</span> userId),</div>
|
||||
<div class="line"><span class="lineno"> 565</span> e.Data.Message);</div>
|
||||
<div class="line"><span class="lineno"> 566</span> </div>
|
||||
<div class="line"><span class="lineno"> 567</span> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#a6a6dd225ccb27e30c2cc06562b035ebe">EnqueueMessage</a>(message);</div>
|
||||
<div class="line"><span class="lineno"> 568</span> }</div>
|
||||
<p class="definition">Definition at line <a class="el" href="_irc_provider_8cs_source.html#l00514">514</a> of file <a class="el" href="_irc_provider_8cs_source.html">IrcProvider.cs</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 515</span> {</div>
|
||||
<div class="line"><span class="lineno"> 516</span> <span class="keywordflow">if</span> (e.Data.Nick.Equals(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.Nickname, StringComparison.OrdinalIgnoreCase))</div>
|
||||
<div class="line"><span class="lineno"> 517</span> <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><span class="lineno"> 518</span> </div>
|
||||
<div class="line"><span class="lineno"> 519</span> var username = e.Data.Nick;</div>
|
||||
<div class="line"><span class="lineno"> 520</span> var channelName = isPrivate ? username : e.Data.Channel;</div>
|
||||
<div class="line"><span class="lineno"> 521</span> </div>
|
||||
<div class="line"><span class="lineno"> 522</span> ulong MapAndGetChannelId(Dictionary<ulong, string?> dicToCheck)</div>
|
||||
<div class="line"><span class="lineno"> 523</span> {</div>
|
||||
<div class="line"><span class="lineno"> 524</span> ulong? resultId = <span class="keyword">null</span>;</div>
|
||||
<div class="line"><span class="lineno"> 525</span> <span class="keywordflow">if</span> (!dicToCheck.Any(x =></div>
|
||||
<div class="line"><span class="lineno"> 526</span> {</div>
|
||||
<div class="line"><span class="lineno"> 527</span> if (x.Value != channelName)</div>
|
||||
<div class="line"><span class="lineno"> 528</span> return false;</div>
|
||||
<div class="line"><span class="lineno"> 529</span> resultId = x.Key;</div>
|
||||
<div class="line"><span class="lineno"> 530</span> return true;</div>
|
||||
<div class="line"><span class="lineno"> 531</span> }))</div>
|
||||
<div class="line"><span class="lineno"> 532</span> {</div>
|
||||
<div class="line"><span class="lineno"> 533</span> resultId = <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a3170ebdb4e8568868efd3b1c1764bf38">channelIdCounter</a>++;</div>
|
||||
<div class="line"><span class="lineno"> 534</span> dicToCheck.Add(resultId.Value, channelName);</div>
|
||||
<div class="line"><span class="lineno"> 535</span> <span class="keywordflow">if</span> (dicToCheck == <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aa1d881a293f002c54c639ed5ed6f251d">queryChannelIdMap</a>)</div>
|
||||
<div class="line"><span class="lineno"> 536</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#afc406181b51f0d1bdf61171e21c41b64">channelIdMap</a>.Add(resultId.Value, <span class="keyword">null</span>);</div>
|
||||
<div class="line"><span class="lineno"> 537</span> }</div>
|
||||
<div class="line"><span class="lineno"> 538</span> </div>
|
||||
<div class="line"><span class="lineno"> 539</span> <span class="keywordflow">return</span> resultId!.Value;</div>
|
||||
<div class="line"><span class="lineno"> 540</span> }</div>
|
||||
<div class="line"><span class="lineno"> 541</span> </div>
|
||||
<div class="line"><span class="lineno"> 542</span> ulong userId, channelId;</div>
|
||||
<div class="line"><span class="lineno"> 543</span> lock (<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>)</div>
|
||||
<div class="line"><span class="lineno"> 544</span> {</div>
|
||||
<div class="line"><span class="lineno"> 545</span> userId = MapAndGetChannelId(<span class="keyword">new</span> Dictionary<ulong, string?>(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aa1d881a293f002c54c639ed5ed6f251d">queryChannelIdMap</a></div>
|
||||
<div class="line"><span class="lineno"> 546</span> .Cast<KeyValuePair<ulong, string?>>())); <span class="comment">// NRT my beloathed</span></div>
|
||||
<div class="line"><span class="lineno"> 547</span> channelId = isPrivate ? userId : MapAndGetChannelId(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#afc406181b51f0d1bdf61171e21c41b64">channelIdMap</a>);</div>
|
||||
<div class="line"><span class="lineno"> 548</span> }</div>
|
||||
<div class="line"><span class="lineno"> 549</span> </div>
|
||||
<div class="line"><span class="lineno"> 550</span> var channelFriendlyName = isPrivate ? String.Format(CultureInfo.InvariantCulture, <span class="stringliteral">"PM: {0}"</span>, channelName) : channelName;</div>
|
||||
<div class="line"><span class="lineno"> 551</span> var message = <span class="keyword">new</span> Message(</div>
|
||||
<div class="line"><span class="lineno"> 552</span> <span class="keyword">new</span> ChatUser(</div>
|
||||
<div class="line"><span class="lineno"> 553</span> <span class="keyword">new</span> ChannelRepresentation(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a5b89ca154b65b12e53b6dca3ceeb0243">address</a>, channelFriendlyName, channelId)</div>
|
||||
<div class="line"><span class="lineno"> 554</span> {</div>
|
||||
<div class="line"><span class="lineno"> 555</span> IsPrivateChannel = isPrivate,</div>
|
||||
<div class="line"><span class="lineno"> 556</span> EmbedsSupported = <span class="keyword">false</span>,</div>
|
||||
<div class="line"><span class="lineno"> 557</span> </div>
|
||||
<div class="line"><span class="lineno"> 558</span> <span class="comment">// isAdmin and Tag populated by manager</span></div>
|
||||
<div class="line"><span class="lineno"> 559</span> },</div>
|
||||
<div class="line"><span class="lineno"> 560</span> username,</div>
|
||||
<div class="line"><span class="lineno"> 561</span> username,</div>
|
||||
<div class="line"><span class="lineno"> 562</span> userId),</div>
|
||||
<div class="line"><span class="lineno"> 563</span> e.Data.Message);</div>
|
||||
<div class="line"><span class="lineno"> 564</span> </div>
|
||||
<div class="line"><span class="lineno"> 565</span> <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#a6a6dd225ccb27e30c2cc06562b035ebe">EnqueueMessage</a>(message);</div>
|
||||
<div class="line"><span class="lineno"> 566</span> }</div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider_html_a6a6dd225ccb27e30c2cc06562b035ebe"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#a6a6dd225ccb27e30c2cc06562b035ebe">Tgstation.Server.Host.Components.Chat.Providers.Provider.EnqueueMessage</a></div><div class="ttdeci">void EnqueueMessage(Message? message)</div><div class="ttdoc">Queues a message for NextMessage(CancellationToken).</div><div class="ttdef"><b>Definition</b> <a href="_provider_8cs_source.html#l00238">Provider.cs:238</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
@@ -986,40 +986,40 @@ Here is the call graph for this function:</div>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A ValueTask representing the running operation.</dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_irc_provider_8cs_source.html#l00681">681</a> of file <a class="el" href="_irc_provider_8cs_source.html">IrcProvider.cs</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 682</span> {</div>
|
||||
<div class="line"><span class="lineno"> 683</span> <span class="keywordflow">if</span> (!<a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aa22564e0346747e2c00dfcab7a48141c">Connected</a>)</div>
|
||||
<div class="line"><span class="lineno"> 684</span> {</div>
|
||||
<div class="line"><span class="lineno"> 685</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Not hard disconnecting, already offline"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 686</span> <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><span class="lineno"> 687</span> }</div>
|
||||
<p class="definition">Definition at line <a class="el" href="_irc_provider_8cs_source.html#l00679">679</a> of file <a class="el" href="_irc_provider_8cs_source.html">IrcProvider.cs</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 680</span> {</div>
|
||||
<div class="line"><span class="lineno"> 681</span> <span class="keywordflow">if</span> (!<a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aa22564e0346747e2c00dfcab7a48141c">Connected</a>)</div>
|
||||
<div class="line"><span class="lineno"> 682</span> {</div>
|
||||
<div class="line"><span class="lineno"> 683</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Not hard disconnecting, already offline"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 684</span> <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><span class="lineno"> 685</span> }</div>
|
||||
<div class="line"><span class="lineno"> 686</span> </div>
|
||||
<div class="line"><span class="lineno"> 687</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Hard disconnect"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 688</span> </div>
|
||||
<div class="line"><span class="lineno"> 689</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Hard disconnect"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 690</span> </div>
|
||||
<div class="line"><span class="lineno"> 691</span> <span class="comment">// This call blocks permanently randomly sometimes</span></div>
|
||||
<div class="line"><span class="lineno"> 692</span> <span class="comment">// Frankly I don't give a shit</span></div>
|
||||
<div class="line"><span class="lineno"> 693</span> var disconnectTask = Task.Factory.StartNew(</div>
|
||||
<div class="line"><span class="lineno"> 694</span> () =></div>
|
||||
<div class="line"><span class="lineno"> 695</span> {</div>
|
||||
<div class="line"><span class="lineno"> 696</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><span class="lineno"> 697</span> {</div>
|
||||
<div class="line"><span class="lineno"> 698</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.Disconnect();</div>
|
||||
<div class="line"><span class="lineno"> 699</span> }</div>
|
||||
<div class="line"><span class="lineno"> 700</span> <span class="keywordflow">catch</span> (<a class="code hl_class" href="class_exception.html">Exception</a> e)</div>
|
||||
<div class="line"><span class="lineno"> 701</span> {</div>
|
||||
<div class="line"><span class="lineno"> 702</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogWarning(e, <span class="stringliteral">"Error disconnecting IRC!"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 703</span> }</div>
|
||||
<div class="line"><span class="lineno"> 704</span> },</div>
|
||||
<div class="line"><span class="lineno"> 705</span> cancellationToken,</div>
|
||||
<div class="line"><span class="lineno"> 706</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html">DefaultIOManager</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html#ac6dfeef4e622bb46047169215099995d">BlockingTaskCreationOptions</a>,</div>
|
||||
<div class="line"><span class="lineno"> 707</span> TaskScheduler.Current);</div>
|
||||
<div class="line"><span class="lineno"> 708</span> </div>
|
||||
<div class="line"><span class="lineno"> 709</span> await Task.WhenAny(</div>
|
||||
<div class="line"><span class="lineno"> 710</span> Task.WhenAll(</div>
|
||||
<div class="line"><span class="lineno"> 711</span> disconnectTask,</div>
|
||||
<div class="line"><span class="lineno"> 712</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aee0aec79bf8ad9a76c786f84fd2d0e16">listenTask</a> ?? Task.CompletedTask),</div>
|
||||
<div class="line"><span class="lineno"> 713</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer.html">AsyncDelayer</a>.<a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer.html#a5255a8616967ddacc72efca3bc7b0dcd">Delay</a>(TimeSpan.FromSeconds(5), cancellationToken).AsTask());</div>
|
||||
<div class="line"><span class="lineno"> 714</span> }</div>
|
||||
<div class="line"><span class="lineno"> 689</span> <span class="comment">// This call blocks permanently randomly sometimes</span></div>
|
||||
<div class="line"><span class="lineno"> 690</span> <span class="comment">// Frankly I don't give a shit</span></div>
|
||||
<div class="line"><span class="lineno"> 691</span> var disconnectTask = Task.Factory.StartNew(</div>
|
||||
<div class="line"><span class="lineno"> 692</span> () =></div>
|
||||
<div class="line"><span class="lineno"> 693</span> {</div>
|
||||
<div class="line"><span class="lineno"> 694</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><span class="lineno"> 695</span> {</div>
|
||||
<div class="line"><span class="lineno"> 696</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.Disconnect();</div>
|
||||
<div class="line"><span class="lineno"> 697</span> }</div>
|
||||
<div class="line"><span class="lineno"> 698</span> <span class="keywordflow">catch</span> (<a class="code hl_class" href="class_exception.html">Exception</a> e)</div>
|
||||
<div class="line"><span class="lineno"> 699</span> {</div>
|
||||
<div class="line"><span class="lineno"> 700</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogWarning(e, <span class="stringliteral">"Error disconnecting IRC!"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 701</span> }</div>
|
||||
<div class="line"><span class="lineno"> 702</span> },</div>
|
||||
<div class="line"><span class="lineno"> 703</span> cancellationToken,</div>
|
||||
<div class="line"><span class="lineno"> 704</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html">DefaultIOManager</a>.<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_i_o_1_1_default_i_o_manager.html#ac6dfeef4e622bb46047169215099995d">BlockingTaskCreationOptions</a>,</div>
|
||||
<div class="line"><span class="lineno"> 705</span> TaskScheduler.Current);</div>
|
||||
<div class="line"><span class="lineno"> 706</span> </div>
|
||||
<div class="line"><span class="lineno"> 707</span> await Task.WhenAny(</div>
|
||||
<div class="line"><span class="lineno"> 708</span> Task.WhenAll(</div>
|
||||
<div class="line"><span class="lineno"> 709</span> disconnectTask,</div>
|
||||
<div class="line"><span class="lineno"> 710</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aee0aec79bf8ad9a76c786f84fd2d0e16">listenTask</a> ?? Task.CompletedTask),</div>
|
||||
<div class="line"><span class="lineno"> 711</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer.html">AsyncDelayer</a>.<a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer.html#a5255a8616967ddacc72efca3bc7b0dcd">Delay</a>(TimeSpan.FromSeconds(5), cancellationToken).AsTask());</div>
|
||||
<div class="line"><span class="lineno"> 712</span> }</div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_aa22564e0346747e2c00dfcab7a48141c"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aa22564e0346747e2c00dfcab7a48141c">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.Connected</a></div><div class="ttdeci">override bool Connected</div><div class="ttdoc">If the IProvider is currently connected.</div><div class="ttdef"><b>Definition</b> <a href="_irc_provider_8cs_source.html#l00041">IrcProvider.cs:41</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer_html"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer.html">Tgstation.Server.Host.Utils.AsyncDelayer</a></div><div class="ttdef"><b>Definition</b> <a href="_async_delayer_8cs_source.html#l00011">AsyncDelayer.cs:12</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer_html_a5255a8616967ddacc72efca3bc7b0dcd"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer.html#a5255a8616967ddacc72efca3bc7b0dcd">Tgstation.Server.Host.Utils.AsyncDelayer.Delay</a></div><div class="ttdeci">async ValueTask Delay(TimeSpan timeSpan, CancellationToken cancellationToken)</div><div class="ttdoc">Create a Task that completes after a given timeSpan .A ValueTask representing the running operation.</div><div class="ttdef"><b>Definition</b> <a href="_async_delayer_8cs_source.html#l00028">AsyncDelayer.cs:28</a></div></div>
|
||||
@@ -1076,43 +1076,43 @@ Here is the caller graph for this function:</div>
|
||||
<p>Creates a new instance of the IRC client. Reusing the same client after a disconnection seems to cause issues. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>The IrcFeatures client to use.</dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_irc_provider_8cs_source.html#l00721">721</a> of file <a class="el" href="_irc_provider_8cs_source.html">IrcProvider.cs</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 722</span> {</div>
|
||||
<div class="line"><span class="lineno"> 723</span> var newClient = <span class="keyword">new</span> IrcFeatures</div>
|
||||
<div class="line"><span class="lineno"> 724</span> {</div>
|
||||
<div class="line"><span class="lineno"> 725</span> SupportNonRfc = <span class="keyword">true</span>,</div>
|
||||
<div class="line"><span class="lineno"> 726</span> CtcpUserInfo = <span class="stringliteral">"You are going to play. And I am going to watch. And everything will be just fine..."</span>,</div>
|
||||
<div class="line"><span class="lineno"> 727</span> AutoRejoin = <span class="keyword">true</span>,</div>
|
||||
<div class="line"><span class="lineno"> 728</span> AutoRejoinOnKick = <span class="keyword">true</span>,</div>
|
||||
<div class="line"><span class="lineno"> 729</span> AutoRelogin = <span class="keyword">false</span>,</div>
|
||||
<div class="line"><span class="lineno"> 730</span> AutoRetry = <span class="keyword">false</span>,</div>
|
||||
<div class="line"><span class="lineno"> 731</span> AutoReconnect = <span class="keyword">false</span>,</div>
|
||||
<div class="line"><span class="lineno"> 732</span> ActiveChannelSyncing = <span class="keyword">true</span>,</div>
|
||||
<div class="line"><span class="lineno"> 733</span> AutoNickHandling = <span class="keyword">true</span>,</div>
|
||||
<div class="line"><span class="lineno"> 734</span> CtcpVersion = <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0433774b2a628d0db82e9d697e5553e4">assemblyInfo</a>.<a class="code hl_property" href="interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_assembly_information_provider.html#abd6db0f6e1ea9273baeacaa66ae81fa3">VersionString</a>,</div>
|
||||
<div class="line"><span class="lineno"> 735</span> UseSsl = <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aa6c2edafadf975c84775498badfb5ec3">ssl</a>,</div>
|
||||
<div class="line"><span class="lineno"> 736</span> EnableUTF8Recode = <span class="keyword">true</span>,</div>
|
||||
<div class="line"><span class="lineno"> 737</span> };</div>
|
||||
<div class="line"><span class="lineno"> 738</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aa6c2edafadf975c84775498badfb5ec3">ssl</a>)</div>
|
||||
<div class="line"><span class="lineno"> 739</span> newClient.ValidateServerCertificate = <span class="keyword">true</span>; <span class="comment">// dunno if it defaults to that or what</span></div>
|
||||
<div class="line"><span class="lineno"> 740</span> </div>
|
||||
<div class="line"><span class="lineno"> 741</span> newClient.OnChannelMessage += <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#ad5b2c312d6d9703edbeb60825cfb1602">Client_OnChannelMessage</a>;</div>
|
||||
<div class="line"><span class="lineno"> 742</span> newClient.OnQueryMessage += <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a6709ea88022cc7f1ed175e5f863e79c9">Client_OnQueryMessage</a>;</div>
|
||||
<div class="line"><span class="lineno"> 743</span> </div>
|
||||
<div class="line"><span class="lineno"> 744</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#ac923fd31da0690d366c2fe1b1179be78">loggingConfiguration</a>.<a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_file_logging_configuration.html#aabcd6c8ce60b5ff568bcdf1c15d3b0a0">ProviderNetworkDebug</a>)</div>
|
||||
<div class="line"><span class="lineno"> 745</span> {</div>
|
||||
<div class="line"><span class="lineno"> 746</span> newClient.OnReadLine += (sender, e) => <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"READ: {line}"</span>, e.Line);</div>
|
||||
<div class="line"><span class="lineno"> 747</span> newClient.OnWriteLine += (sender, e) => <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"WRITE: {line}"</span>, e.Line);</div>
|
||||
<div class="line"><span class="lineno"> 748</span> }</div>
|
||||
<div class="line"><span class="lineno"> 749</span> </div>
|
||||
<div class="line"><span class="lineno"> 750</span> newClient.OnError += (sender, e) =></div>
|
||||
<div class="line"><span class="lineno"> 751</span> {</div>
|
||||
<div class="line"><span class="lineno"> 752</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogError(<span class="stringliteral">"IRC ERROR: {error}"</span>, e.ErrorMessage);</div>
|
||||
<div class="line"><span class="lineno"> 753</span> newClient.Disconnect();</div>
|
||||
<div class="line"><span class="lineno"> 754</span> };</div>
|
||||
<div class="line"><span class="lineno"> 755</span> </div>
|
||||
<div class="line"><span class="lineno"> 756</span> <span class="keywordflow">return</span> newClient;</div>
|
||||
<div class="line"><span class="lineno"> 757</span> }</div>
|
||||
<p class="definition">Definition at line <a class="el" href="_irc_provider_8cs_source.html#l00719">719</a> of file <a class="el" href="_irc_provider_8cs_source.html">IrcProvider.cs</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 720</span> {</div>
|
||||
<div class="line"><span class="lineno"> 721</span> var newClient = <span class="keyword">new</span> IrcFeatures</div>
|
||||
<div class="line"><span class="lineno"> 722</span> {</div>
|
||||
<div class="line"><span class="lineno"> 723</span> SupportNonRfc = <span class="keyword">true</span>,</div>
|
||||
<div class="line"><span class="lineno"> 724</span> CtcpUserInfo = <span class="stringliteral">"You are going to play. And I am going to watch. And everything will be just fine..."</span>,</div>
|
||||
<div class="line"><span class="lineno"> 725</span> AutoRejoin = <span class="keyword">true</span>,</div>
|
||||
<div class="line"><span class="lineno"> 726</span> AutoRejoinOnKick = <span class="keyword">true</span>,</div>
|
||||
<div class="line"><span class="lineno"> 727</span> AutoRelogin = <span class="keyword">false</span>,</div>
|
||||
<div class="line"><span class="lineno"> 728</span> AutoRetry = <span class="keyword">false</span>,</div>
|
||||
<div class="line"><span class="lineno"> 729</span> AutoReconnect = <span class="keyword">false</span>,</div>
|
||||
<div class="line"><span class="lineno"> 730</span> ActiveChannelSyncing = <span class="keyword">true</span>,</div>
|
||||
<div class="line"><span class="lineno"> 731</span> AutoNickHandling = <span class="keyword">true</span>,</div>
|
||||
<div class="line"><span class="lineno"> 732</span> CtcpVersion = <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0433774b2a628d0db82e9d697e5553e4">assemblyInfo</a>.<a class="code hl_property" href="interface_tgstation_1_1_server_1_1_host_1_1_system_1_1_i_assembly_information_provider.html#abd6db0f6e1ea9273baeacaa66ae81fa3">VersionString</a>,</div>
|
||||
<div class="line"><span class="lineno"> 733</span> UseSsl = <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aa6c2edafadf975c84775498badfb5ec3">ssl</a>,</div>
|
||||
<div class="line"><span class="lineno"> 734</span> EnableUTF8Recode = <span class="keyword">true</span>,</div>
|
||||
<div class="line"><span class="lineno"> 735</span> };</div>
|
||||
<div class="line"><span class="lineno"> 736</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aa6c2edafadf975c84775498badfb5ec3">ssl</a>)</div>
|
||||
<div class="line"><span class="lineno"> 737</span> newClient.ValidateServerCertificate = <span class="keyword">true</span>; <span class="comment">// dunno if it defaults to that or what</span></div>
|
||||
<div class="line"><span class="lineno"> 738</span> </div>
|
||||
<div class="line"><span class="lineno"> 739</span> newClient.OnChannelMessage += <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#ad5b2c312d6d9703edbeb60825cfb1602">Client_OnChannelMessage</a>;</div>
|
||||
<div class="line"><span class="lineno"> 740</span> newClient.OnQueryMessage += <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a6709ea88022cc7f1ed175e5f863e79c9">Client_OnQueryMessage</a>;</div>
|
||||
<div class="line"><span class="lineno"> 741</span> </div>
|
||||
<div class="line"><span class="lineno"> 742</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#ac923fd31da0690d366c2fe1b1179be78">loggingConfiguration</a>.<a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_file_logging_configuration.html#aabcd6c8ce60b5ff568bcdf1c15d3b0a0">ProviderNetworkDebug</a>)</div>
|
||||
<div class="line"><span class="lineno"> 743</span> {</div>
|
||||
<div class="line"><span class="lineno"> 744</span> newClient.OnReadLine += (sender, e) => <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"READ: {line}"</span>, e.Line);</div>
|
||||
<div class="line"><span class="lineno"> 745</span> newClient.OnWriteLine += (sender, e) => <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"WRITE: {line}"</span>, e.Line);</div>
|
||||
<div class="line"><span class="lineno"> 746</span> }</div>
|
||||
<div class="line"><span class="lineno"> 747</span> </div>
|
||||
<div class="line"><span class="lineno"> 748</span> newClient.OnError += (sender, e) =></div>
|
||||
<div class="line"><span class="lineno"> 749</span> {</div>
|
||||
<div class="line"><span class="lineno"> 750</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogError(<span class="stringliteral">"IRC ERROR: {error}"</span>, e.ErrorMessage);</div>
|
||||
<div class="line"><span class="lineno"> 751</span> newClient.Disconnect();</div>
|
||||
<div class="line"><span class="lineno"> 752</span> };</div>
|
||||
<div class="line"><span class="lineno"> 753</span> </div>
|
||||
<div class="line"><span class="lineno"> 754</span> <span class="keywordflow">return</span> newClient;</div>
|
||||
<div class="line"><span class="lineno"> 755</span> }</div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_a6709ea88022cc7f1ed175e5f863e79c9"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a6709ea88022cc7f1ed175e5f863e79c9">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.Client_OnQueryMessage</a></div><div class="ttdeci">void Client_OnQueryMessage(object sender, IrcEventArgs e)</div><div class="ttdoc">When a query message is received in IRC.</div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_ad5b2c312d6d9703edbeb60825cfb1602"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#ad5b2c312d6d9703edbeb60825cfb1602">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.Client_OnChannelMessage</a></div><div class="ttdeci">void Client_OnChannelMessage(object sender, IrcEventArgs e)</div><div class="ttdoc">When a channel message is received in IRC.</div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_file_logging_configuration_html_aabcd6c8ce60b5ff568bcdf1c15d3b0a0"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_configuration_1_1_file_logging_configuration.html#aabcd6c8ce60b5ff568bcdf1c15d3b0a0">Tgstation.Server.Host.Configuration.FileLoggingConfiguration.ProviderNetworkDebug</a></div><div class="ttdeci">bool ProviderNetworkDebug</div><div class="ttdoc">If Chat Providers should log their network traffic. Normally disabled because it is too noisy.</div><div class="ttdef"><b>Definition</b> <a href="_file_logging_configuration_8cs_source.html#l00035">FileLoggingConfiguration.cs:35</a></div></div>
|
||||
@@ -1189,35 +1189,35 @@ Here is the caller graph for this function:</div>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_irc_provider_8cs_source.html#l00481">481</a> of file <a class="el" href="_irc_provider_8cs_source.html">IrcProvider.cs</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 482</span> {</div>
|
||||
<div class="line"><span class="lineno"> 483</span> var promise = <span class="keyword">new</span> TaskCompletionSource<object>();</div>
|
||||
<div class="line"><span class="lineno"> 484</span> </div>
|
||||
<div class="line"><span class="lineno"> 485</span> <span class="keywordtype">void</span> Callback(<span class="keywordtype">object</span>? sender, EventArgs e)</div>
|
||||
<div class="line"><span class="lineno"> 486</span> {</div>
|
||||
<div class="line"><span class="lineno"> 487</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"IRC Registered."</span>);</div>
|
||||
<div class="line"><span class="lineno"> 488</span> promise.TrySetResult(e);</div>
|
||||
<div class="line"><span class="lineno"> 489</span> }</div>
|
||||
<p class="definition">Definition at line <a class="el" href="_irc_provider_8cs_source.html#l00479">479</a> of file <a class="el" href="_irc_provider_8cs_source.html">IrcProvider.cs</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 480</span> {</div>
|
||||
<div class="line"><span class="lineno"> 481</span> var promise = <span class="keyword">new</span> TaskCompletionSource<object>();</div>
|
||||
<div class="line"><span class="lineno"> 482</span> </div>
|
||||
<div class="line"><span class="lineno"> 483</span> <span class="keywordtype">void</span> Callback(<span class="keywordtype">object</span>? sender, EventArgs e)</div>
|
||||
<div class="line"><span class="lineno"> 484</span> {</div>
|
||||
<div class="line"><span class="lineno"> 485</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"IRC Registered."</span>);</div>
|
||||
<div class="line"><span class="lineno"> 486</span> promise.TrySetResult(e);</div>
|
||||
<div class="line"><span class="lineno"> 487</span> }</div>
|
||||
<div class="line"><span class="lineno"> 488</span> </div>
|
||||
<div class="line"><span class="lineno"> 489</span> client.OnRegistered += Callback;</div>
|
||||
<div class="line"><span class="lineno"> 490</span> </div>
|
||||
<div class="line"><span class="lineno"> 491</span> client.OnRegistered += Callback;</div>
|
||||
<div class="line"><span class="lineno"> 491</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.Login(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, 0, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>);</div>
|
||||
<div class="line"><span class="lineno"> 492</span> </div>
|
||||
<div class="line"><span class="lineno"> 493</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.Login(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, 0, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>);</div>
|
||||
<div class="line"><span class="lineno"> 494</span> </div>
|
||||
<div class="line"><span class="lineno"> 495</span> <span class="keyword">using </span>var cts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 496</span> cts.CancelAfter(TimeSpan.FromSeconds(30));</div>
|
||||
<div class="line"><span class="lineno"> 497</span> </div>
|
||||
<div class="line"><span class="lineno"> 498</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><span class="lineno"> 499</span> {</div>
|
||||
<div class="line"><span class="lineno"> 500</span> await promise.Task.WaitAsync(cts.Token);</div>
|
||||
<div class="line"><span class="lineno"> 501</span> client.OnRegistered -= Callback;</div>
|
||||
<div class="line"><span class="lineno"> 502</span> }</div>
|
||||
<div class="line"><span class="lineno"> 503</span> <span class="keywordflow">catch</span> (OperationCanceledException)</div>
|
||||
<div class="line"><span class="lineno"> 504</span> {</div>
|
||||
<div class="line"><span class="lineno"> 505</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.IsConnected)</div>
|
||||
<div class="line"><span class="lineno"> 506</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.Disconnect();</div>
|
||||
<div class="line"><span class="lineno"> 507</span> <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_jobs_1_1_job_exception.html">JobException</a>(<span class="stringliteral">"Timed out waiting for IRC Registration"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 508</span> }</div>
|
||||
<div class="line"><span class="lineno"> 509</span> }</div>
|
||||
<div class="line"><span class="lineno"> 493</span> <span class="keyword">using </span>var cts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 494</span> cts.CancelAfter(TimeSpan.FromSeconds(30));</div>
|
||||
<div class="line"><span class="lineno"> 495</span> </div>
|
||||
<div class="line"><span class="lineno"> 496</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><span class="lineno"> 497</span> {</div>
|
||||
<div class="line"><span class="lineno"> 498</span> await promise.Task.WaitAsync(cts.Token);</div>
|
||||
<div class="line"><span class="lineno"> 499</span> client.OnRegistered -= Callback;</div>
|
||||
<div class="line"><span class="lineno"> 500</span> }</div>
|
||||
<div class="line"><span class="lineno"> 501</span> <span class="keywordflow">catch</span> (OperationCanceledException)</div>
|
||||
<div class="line"><span class="lineno"> 502</span> {</div>
|
||||
<div class="line"><span class="lineno"> 503</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.IsConnected)</div>
|
||||
<div class="line"><span class="lineno"> 504</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.Disconnect();</div>
|
||||
<div class="line"><span class="lineno"> 505</span> <span class="keywordflow">throw</span> <span class="keyword">new</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_jobs_1_1_job_exception.html">JobException</a>(<span class="stringliteral">"Timed out waiting for IRC Registration"</span>);</div>
|
||||
<div class="line"><span class="lineno"> 506</span> }</div>
|
||||
<div class="line"><span class="lineno"> 507</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -1329,70 +1329,70 @@ Here is the caller graph for this function:</div>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>A ValueTask representing the running operation.</dd></dl>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_irc_provider_8cs_source.html#l00611">611</a> of file <a class="el" href="_irc_provider_8cs_source.html">IrcProvider.cs</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 612</span> {</div>
|
||||
<div class="line"><span class="lineno"> 613</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.WriteLine(<span class="stringliteral">"CAP REQ :sasl"</span>, Priority.Critical); <span class="comment">// needs to be put in the buffer before anything else</span></div>
|
||||
<div class="line"><span class="lineno"> 614</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 615</span> </div>
|
||||
<div class="line"><span class="lineno"> 616</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Logging in..."</span>);</div>
|
||||
<div class="line"><span class="lineno"> 617</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.Login(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, 0, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>);</div>
|
||||
<div class="line"><span class="lineno"> 618</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 619</span> </div>
|
||||
<div class="line"><span class="lineno"> 620</span> <span class="comment">// wait for the SASL ack or timeout</span></div>
|
||||
<div class="line"><span class="lineno"> 621</span> var receivedAck = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><span class="lineno"> 622</span> var receivedPlus = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><span class="lineno"> 623</span> </div>
|
||||
<div class="line"><span class="lineno"> 624</span> <span class="keywordtype">void</span> AuthenticationDelegate(<span class="keywordtype">object</span> sender, ReadLineEventArgs e)</div>
|
||||
<div class="line"><span class="lineno"> 625</span> {</div>
|
||||
<div class="line"><span class="lineno"> 626</span> <span class="keywordflow">if</span> (e.Line.Contains(<span class="stringliteral">"ACK :sasl"</span>, StringComparison.Ordinal))</div>
|
||||
<div class="line"><span class="lineno"> 627</span> receivedAck = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><span class="lineno"> 628</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (e.Line.Contains(<span class="stringliteral">"AUTHENTICATE +"</span>, StringComparison.Ordinal))</div>
|
||||
<div class="line"><span class="lineno"> 629</span> receivedPlus = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><span class="lineno"> 630</span> }</div>
|
||||
<div class="line"><span class="lineno"> 631</span> </div>
|
||||
<div class="line"><span class="lineno"> 632</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Performing handshake..."</span>);</div>
|
||||
<div class="line"><span class="lineno"> 633</span> client.OnReadLine += AuthenticationDelegate;</div>
|
||||
<div class="line"><span class="lineno"> 634</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><span class="lineno"> 635</span> {</div>
|
||||
<div class="line"><span class="lineno"> 636</span> <span class="keyword">using </span>var timeoutCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 637</span> timeoutCts.CancelAfter(TimeSpan.FromSeconds(25));</div>
|
||||
<div class="line"><span class="lineno"> 638</span> var timeoutToken = timeoutCts.Token;</div>
|
||||
<div class="line"><span class="lineno"> 639</span> </div>
|
||||
<div class="line"><span class="lineno"> 640</span> var listenTimeSpan = TimeSpan.FromMilliseconds(10);</div>
|
||||
<div class="line"><span class="lineno"> 641</span> <span class="keywordflow">for</span> (; !receivedAck;</div>
|
||||
<div class="line"><span class="lineno"> 642</span> await <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer.html">AsyncDelayer</a>.<a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer.html#a5255a8616967ddacc72efca3bc7b0dcd">Delay</a>(listenTimeSpan, timeoutToken))</div>
|
||||
<div class="line"><span class="lineno"> 643</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#af74b65e6c05dba2490bb2fb62bdb7f40">NonBlockingListen</a>(cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 644</span> </div>
|
||||
<div class="line"><span class="lineno"> 645</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.WriteLine(<span class="stringliteral">"AUTHENTICATE PLAIN"</span>, Priority.Critical);</div>
|
||||
<div class="line"><span class="lineno"> 646</span> timeoutToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 647</span> </div>
|
||||
<div class="line"><span class="lineno"> 648</span> <span class="keywordflow">for</span> (; !receivedPlus;</div>
|
||||
<div class="line"><span class="lineno"> 649</span> await <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer.html">AsyncDelayer</a>.<a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer.html#a5255a8616967ddacc72efca3bc7b0dcd">Delay</a>(listenTimeSpan, timeoutToken))</div>
|
||||
<div class="line"><span class="lineno"> 650</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#af74b65e6c05dba2490bb2fb62bdb7f40">NonBlockingListen</a>(cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 651</span> }</div>
|
||||
<div class="line"><span class="lineno"> 652</span> <span class="keywordflow">finally</span></div>
|
||||
<div class="line"><span class="lineno"> 653</span> {</div>
|
||||
<div class="line"><span class="lineno"> 654</span> client.OnReadLine -= AuthenticationDelegate;</div>
|
||||
<div class="line"><span class="lineno"> 655</span> }</div>
|
||||
<p class="definition">Definition at line <a class="el" href="_irc_provider_8cs_source.html#l00609">609</a> of file <a class="el" href="_irc_provider_8cs_source.html">IrcProvider.cs</a>.</p>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 610</span> {</div>
|
||||
<div class="line"><span class="lineno"> 611</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.WriteLine(<span class="stringliteral">"CAP REQ :sasl"</span>, Priority.Critical); <span class="comment">// needs to be put in the buffer before anything else</span></div>
|
||||
<div class="line"><span class="lineno"> 612</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 613</span> </div>
|
||||
<div class="line"><span class="lineno"> 614</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Logging in..."</span>);</div>
|
||||
<div class="line"><span class="lineno"> 615</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.Login(<a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>, 0, <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>);</div>
|
||||
<div class="line"><span class="lineno"> 616</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 617</span> </div>
|
||||
<div class="line"><span class="lineno"> 618</span> <span class="comment">// wait for the SASL ack or timeout</span></div>
|
||||
<div class="line"><span class="lineno"> 619</span> var receivedAck = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><span class="lineno"> 620</span> var receivedPlus = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><span class="lineno"> 621</span> </div>
|
||||
<div class="line"><span class="lineno"> 622</span> <span class="keywordtype">void</span> AuthenticationDelegate(<span class="keywordtype">object</span> sender, ReadLineEventArgs e)</div>
|
||||
<div class="line"><span class="lineno"> 623</span> {</div>
|
||||
<div class="line"><span class="lineno"> 624</span> <span class="keywordflow">if</span> (e.Line.Contains(<span class="stringliteral">"ACK :sasl"</span>, StringComparison.Ordinal))</div>
|
||||
<div class="line"><span class="lineno"> 625</span> receivedAck = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><span class="lineno"> 626</span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (e.Line.Contains(<span class="stringliteral">"AUTHENTICATE +"</span>, StringComparison.Ordinal))</div>
|
||||
<div class="line"><span class="lineno"> 627</span> receivedPlus = <span class="keyword">true</span>;</div>
|
||||
<div class="line"><span class="lineno"> 628</span> }</div>
|
||||
<div class="line"><span class="lineno"> 629</span> </div>
|
||||
<div class="line"><span class="lineno"> 630</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Performing handshake..."</span>);</div>
|
||||
<div class="line"><span class="lineno"> 631</span> client.OnReadLine += AuthenticationDelegate;</div>
|
||||
<div class="line"><span class="lineno"> 632</span> <span class="keywordflow">try</span></div>
|
||||
<div class="line"><span class="lineno"> 633</span> {</div>
|
||||
<div class="line"><span class="lineno"> 634</span> <span class="keyword">using </span>var timeoutCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 635</span> timeoutCts.CancelAfter(TimeSpan.FromSeconds(25));</div>
|
||||
<div class="line"><span class="lineno"> 636</span> var timeoutToken = timeoutCts.Token;</div>
|
||||
<div class="line"><span class="lineno"> 637</span> </div>
|
||||
<div class="line"><span class="lineno"> 638</span> var listenTimeSpan = TimeSpan.FromMilliseconds(10);</div>
|
||||
<div class="line"><span class="lineno"> 639</span> <span class="keywordflow">for</span> (; !receivedAck;</div>
|
||||
<div class="line"><span class="lineno"> 640</span> await <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer.html">AsyncDelayer</a>.<a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer.html#a5255a8616967ddacc72efca3bc7b0dcd">Delay</a>(listenTimeSpan, timeoutToken))</div>
|
||||
<div class="line"><span class="lineno"> 641</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#af74b65e6c05dba2490bb2fb62bdb7f40">NonBlockingListen</a>(cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 642</span> </div>
|
||||
<div class="line"><span class="lineno"> 643</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.WriteLine(<span class="stringliteral">"AUTHENTICATE PLAIN"</span>, Priority.Critical);</div>
|
||||
<div class="line"><span class="lineno"> 644</span> timeoutToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 645</span> </div>
|
||||
<div class="line"><span class="lineno"> 646</span> <span class="keywordflow">for</span> (; !receivedPlus;</div>
|
||||
<div class="line"><span class="lineno"> 647</span> await <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer.html">AsyncDelayer</a>.<a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_utils_1_1_async_delayer.html#a5255a8616967ddacc72efca3bc7b0dcd">Delay</a>(listenTimeSpan, timeoutToken))</div>
|
||||
<div class="line"><span class="lineno"> 648</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#af74b65e6c05dba2490bb2fb62bdb7f40">NonBlockingListen</a>(cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 649</span> }</div>
|
||||
<div class="line"><span class="lineno"> 650</span> <span class="keywordflow">finally</span></div>
|
||||
<div class="line"><span class="lineno"> 651</span> {</div>
|
||||
<div class="line"><span class="lineno"> 652</span> client.OnReadLine -= AuthenticationDelegate;</div>
|
||||
<div class="line"><span class="lineno"> 653</span> }</div>
|
||||
<div class="line"><span class="lineno"> 654</span> </div>
|
||||
<div class="line"><span class="lineno"> 655</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 656</span> </div>
|
||||
<div class="line"><span class="lineno"> 657</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 658</span> </div>
|
||||
<div class="line"><span class="lineno"> 659</span> <span class="comment">// Stolen! https://github.com/znc/znc/blob/1e697580155d5a38f8b5a377f3b1d94aaa979539/modules/sasl.cpp#L196</span></div>
|
||||
<div class="line"><span class="lineno"> 660</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Sending credentials..."</span>);</div>
|
||||
<div class="line"><span class="lineno"> 661</span> var authString = String.Format(</div>
|
||||
<div class="line"><span class="lineno"> 662</span> CultureInfo.InvariantCulture,</div>
|
||||
<div class="line"><span class="lineno"> 663</span> <span class="stringliteral">"{0}{1}{0}{1}{2}"</span>,</div>
|
||||
<div class="line"><span class="lineno"> 664</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>,</div>
|
||||
<div class="line"><span class="lineno"> 665</span> <span class="charliteral">'\0'</span>,</div>
|
||||
<div class="line"><span class="lineno"> 666</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0af57fc7dec5c5f69ae6ba15756031a7">password</a>);</div>
|
||||
<div class="line"><span class="lineno"> 667</span> var b64 = Convert.ToBase64String(Encoding.UTF8.GetBytes(authString));</div>
|
||||
<div class="line"><span class="lineno"> 668</span> var authLine = $<span class="stringliteral">"AUTHENTICATE {b64}"</span>;</div>
|
||||
<div class="line"><span class="lineno"> 669</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.WriteLine(authLine, Priority.Critical);</div>
|
||||
<div class="line"><span class="lineno"> 670</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 671</span> </div>
|
||||
<div class="line"><span class="lineno"> 672</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Finishing authentication..."</span>);</div>
|
||||
<div class="line"><span class="lineno"> 673</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.WriteLine(<span class="stringliteral">"CAP END"</span>, Priority.Critical);</div>
|
||||
<div class="line"><span class="lineno"> 674</span> }</div>
|
||||
<div class="line"><span class="lineno"> 657</span> <span class="comment">// Stolen! https://github.com/znc/znc/blob/1e697580155d5a38f8b5a377f3b1d94aaa979539/modules/sasl.cpp#L196</span></div>
|
||||
<div class="line"><span class="lineno"> 658</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Sending credentials..."</span>);</div>
|
||||
<div class="line"><span class="lineno"> 659</span> var authString = String.Format(</div>
|
||||
<div class="line"><span class="lineno"> 660</span> CultureInfo.InvariantCulture,</div>
|
||||
<div class="line"><span class="lineno"> 661</span> <span class="stringliteral">"{0}{1}{0}{1}{2}"</span>,</div>
|
||||
<div class="line"><span class="lineno"> 662</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a75457eda73c1935c8784dc7fadf9e0ba">nickname</a>,</div>
|
||||
<div class="line"><span class="lineno"> 663</span> <span class="charliteral">'\0'</span>,</div>
|
||||
<div class="line"><span class="lineno"> 664</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a0af57fc7dec5c5f69ae6ba15756031a7">password</a>);</div>
|
||||
<div class="line"><span class="lineno"> 665</span> var b64 = Convert.ToBase64String(Encoding.UTF8.GetBytes(authString));</div>
|
||||
<div class="line"><span class="lineno"> 666</span> var authLine = $<span class="stringliteral">"AUTHENTICATE {b64}"</span>;</div>
|
||||
<div class="line"><span class="lineno"> 667</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.WriteLine(authLine, Priority.Critical);</div>
|
||||
<div class="line"><span class="lineno"> 668</span> cancellationToken.ThrowIfCancellationRequested();</div>
|
||||
<div class="line"><span class="lineno"> 669</span> </div>
|
||||
<div class="line"><span class="lineno"> 670</span> <a class="code hl_property" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#ab24337ff80dfef1a9657f7106758a8c3">Logger</a>.LogTrace(<span class="stringliteral">"Finishing authentication..."</span>);</div>
|
||||
<div class="line"><span class="lineno"> 671</span> <a class="code hl_variable" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#a9a82f951393f74b253d237dc30e07a53">client</a>.WriteLine(<span class="stringliteral">"CAP END"</span>, Priority.Critical);</div>
|
||||
<div class="line"><span class="lineno"> 672</span> }</div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider_html_af74b65e6c05dba2490bb2fb62bdb7f40"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#af74b65e6c05dba2490bb2fb62bdb7f40">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.NonBlockingListen</a></div><div class="ttdeci">Task NonBlockingListen(CancellationToken cancellationToken)</div><div class="ttdoc">Perform a non-blocking IrcConnection.Listen(bool).</div></div>
|
||||
</div><!-- fragment -->
|
||||
<p class="reference">References <a class="el" href="_async_delayer_8cs_source.html#l00028">Tgstation.Server.Host.Utils.AsyncDelayer.Delay()</a>.</p>
|
||||
@@ -1617,70 +1617,68 @@ Here is the caller graph for this function:</div>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 227</span> {</div>
|
||||
<div class="line"><span class="lineno"> 228</span> ArgumentNullException.ThrowIfNull(revisionInformation);</div>
|
||||
<div class="line"><span class="lineno"> 229</span> ArgumentNullException.ThrowIfNull(engineVersion);</div>
|
||||
<div class="line"><span class="lineno"> 230</span> ArgumentNullException.ThrowIfNull(gitHubOwner);</div>
|
||||
<div class="line"><span class="lineno"> 231</span> ArgumentNullException.ThrowIfNull(gitHubRepo);</div>
|
||||
<div class="line"><span class="lineno"> 232</span> </div>
|
||||
<div class="line"><span class="lineno"> 233</span> var commitInsert = revisionInformation.CommitSha![..7];</div>
|
||||
<div class="line"><span class="lineno"> 234</span> <span class="keywordtype">string</span> remoteCommitInsert;</div>
|
||||
<div class="line"><span class="lineno"> 235</span> <span class="keywordflow">if</span> (revisionInformation.CommitSha == revisionInformation.OriginCommitSha)</div>
|
||||
<div class="line"><span class="lineno"> 236</span> {</div>
|
||||
<div class="line"><span class="lineno"> 237</span> commitInsert = String.Format(CultureInfo.InvariantCulture, localCommitPushed ? <span class="stringliteral">"^{0}"</span> : <span class="stringliteral">"{0}"</span>, commitInsert);</div>
|
||||
<div class="line"><span class="lineno"> 238</span> remoteCommitInsert = String.Empty;</div>
|
||||
<div class="line"><span class="lineno"> 239</span> }</div>
|
||||
<div class="line"><span class="lineno"> 240</span> <span class="keywordflow">else</span></div>
|
||||
<div class="line"><span class="lineno"> 241</span> remoteCommitInsert = String.Format(CultureInfo.InvariantCulture, <span class="stringliteral">". Remote commit: ^{0}"</span>, revisionInformation.OriginCommitSha![..7]);</div>
|
||||
<div class="line"><span class="lineno"> 242</span> </div>
|
||||
<div class="line"><span class="lineno"> 243</span> var testmergeInsert = (revisionInformation.ActiveTestMerges?.Count ?? 0) == 0</div>
|
||||
<div class="line"><span class="lineno"> 244</span> ? String.Empty</div>
|
||||
<div class="line"><span class="lineno"> 245</span> : String.Format(</div>
|
||||
<div class="line"><span class="lineno"> 246</span> CultureInfo.InvariantCulture,</div>
|
||||
<div class="line"><span class="lineno"> 247</span> <span class="stringliteral">" (Test Merges: {0})"</span>,</div>
|
||||
<div class="line"><span class="lineno"> 248</span> String.Join(</div>
|
||||
<div class="line"><span class="lineno"> 249</span> <span class="stringliteral">", "</span>,</div>
|
||||
<div class="line"><span class="lineno"> 250</span> revisionInformation</div>
|
||||
<div class="line"><span class="lineno"> 251</span> .ActiveTestMerges!</div>
|
||||
<div class="line"><span class="lineno"> 252</span> .Select(x => x.<a class="code hl_class" href="class_tgstation_1_1_server_1_1_api_1_1_models_1_1_test_merge.html">TestMerge</a>)</div>
|
||||
<div class="line"><span class="lineno"> 253</span> .Select(x =></div>
|
||||
<div class="line"><span class="lineno"> 254</span> {</div>
|
||||
<div class="line"><span class="lineno"> 255</span> var result = String.Format(CultureInfo.InvariantCulture, <span class="stringliteral">"#{0} at {1}"</span>, x.Number, x.TargetCommitSha![..7]);</div>
|
||||
<div class="line"><span class="lineno"> 256</span> <span class="keywordflow">if</span> (x.Comment != <span class="keyword">null</span>)</div>
|
||||
<div class="line"><span class="lineno"> 257</span> result += String.Format(CultureInfo.InvariantCulture, <span class="stringliteral">" ({0})"</span>, x.Comment);</div>
|
||||
<div class="line"><span class="lineno"> 258</span> <span class="keywordflow">return</span> result;</div>
|
||||
<div class="line"><span class="lineno"> 259</span> })));</div>
|
||||
<div class="line"><span class="lineno"> 260</span> </div>
|
||||
<div class="line"><span class="lineno"> 261</span> var prefix = <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#a838ad29e96221a58a71b29358c086c0c">GetEngineCompilerPrefix</a>(engineVersion.<a class="code hl_property" href="class_tgstation_1_1_server_1_1_api_1_1_models_1_1_engine_version.html#ae13db4c5dbd6b06c79d37ad9afd25af2">Engine</a>!.Value);</div>
|
||||
<div class="line"><span class="lineno"> 262</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aba0049859728d558ecee46cefed5f930">SendMessage</a>(</div>
|
||||
<div class="line"><span class="lineno"> 263</span> <span class="keyword">null</span>,</div>
|
||||
<div class="line"><span class="lineno"> 264</span> <span class="keyword">new</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_interop_1_1_message_content.html">MessageContent</a></div>
|
||||
<div class="line"><span class="lineno"> 265</span> {</div>
|
||||
<div class="line"><span class="lineno"> 266</span> Text = String.Format(</div>
|
||||
<div class="line"><span class="lineno"> 267</span> CultureInfo.InvariantCulture,</div>
|
||||
<div class="line"><span class="lineno"> 268</span> $<span class="stringliteral">"{prefix}: Deploying revision: {0}{1}{2} BYOND Version: {3}{4}"</span>,</div>
|
||||
<div class="line"><span class="lineno"> 269</span> commitInsert,</div>
|
||||
<div class="line"><span class="lineno"> 270</span> testmergeInsert,</div>
|
||||
<div class="line"><span class="lineno"> 271</span> remoteCommitInsert,</div>
|
||||
<div class="line"><span class="lineno"> 272</span> engineVersion.<a class="code hl_function" href="class_tgstation_1_1_server_1_1_api_1_1_models_1_1_engine_version.html#a5576a2503f8e4371139e9abe80df44d2">ToString</a>(),</div>
|
||||
<div class="line"><span class="lineno"> 273</span> estimatedCompletionTime.HasValue</div>
|
||||
<div class="line"><span class="lineno"> 274</span> ? $<span class="stringliteral">" ETA: {estimatedCompletionTime - DateTimeOffset.UtcNow}"</span></div>
|
||||
<div class="line"><span class="lineno"> 275</span> : String.Empty),</div>
|
||||
<div class="line"><span class="lineno"> 276</span> },</div>
|
||||
<div class="line"><span class="lineno"> 277</span> channelId,</div>
|
||||
<div class="line"><span class="lineno"> 278</span> cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 279</span> </div>
|
||||
<div class="line"><span class="lineno"> 280</span> <span class="keywordflow">return</span> async (errorMessage, dreamMakerOutput) =></div>
|
||||
<div class="line"><span class="lineno"> 281</span> {</div>
|
||||
<div class="line"><span class="lineno"> 282</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aba0049859728d558ecee46cefed5f930">SendMessage</a>(</div>
|
||||
<div class="line"><span class="lineno"> 283</span> <span class="keyword">null</span>,</div>
|
||||
<div class="line"><span class="lineno"> 284</span> <span class="keyword">new</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_interop_1_1_message_content.html">MessageContent</a></div>
|
||||
<div class="line"><span class="lineno"> 285</span> {</div>
|
||||
<div class="line"><span class="lineno"> 286</span> Text = $<span class="stringliteral">"{prefix}: Deployment {(errorMessage == null ? "</span>complete<span class="stringliteral">" : "</span>failed<span class="stringliteral">")}!"</span>,</div>
|
||||
<div class="line"><span class="lineno"> 287</span> },</div>
|
||||
<div class="line"><span class="lineno"> 288</span> channelId,</div>
|
||||
<div class="line"><span class="lineno"> 289</span> cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 290</span> </div>
|
||||
<div class="line"><span class="lineno"> 291</span> <span class="keywordflow">return</span> active => ValueTask.CompletedTask;</div>
|
||||
<div class="line"><span class="lineno"> 292</span> };</div>
|
||||
<div class="line"><span class="lineno"> 293</span> }</div>
|
||||
<div class="line"><span class="lineno"> 230</span> </div>
|
||||
<div class="line"><span class="lineno"> 231</span> var commitInsert = revisionInformation.CommitSha![..7];</div>
|
||||
<div class="line"><span class="lineno"> 232</span> <span class="keywordtype">string</span> remoteCommitInsert;</div>
|
||||
<div class="line"><span class="lineno"> 233</span> <span class="keywordflow">if</span> (revisionInformation.CommitSha == revisionInformation.OriginCommitSha)</div>
|
||||
<div class="line"><span class="lineno"> 234</span> {</div>
|
||||
<div class="line"><span class="lineno"> 235</span> commitInsert = String.Format(CultureInfo.InvariantCulture, localCommitPushed ? <span class="stringliteral">"^{0}"</span> : <span class="stringliteral">"{0}"</span>, commitInsert);</div>
|
||||
<div class="line"><span class="lineno"> 236</span> remoteCommitInsert = String.Empty;</div>
|
||||
<div class="line"><span class="lineno"> 237</span> }</div>
|
||||
<div class="line"><span class="lineno"> 238</span> <span class="keywordflow">else</span></div>
|
||||
<div class="line"><span class="lineno"> 239</span> remoteCommitInsert = String.Format(CultureInfo.InvariantCulture, <span class="stringliteral">". Remote commit: ^{0}"</span>, revisionInformation.OriginCommitSha![..7]);</div>
|
||||
<div class="line"><span class="lineno"> 240</span> </div>
|
||||
<div class="line"><span class="lineno"> 241</span> var testmergeInsert = (revisionInformation.ActiveTestMerges?.Count ?? 0) == 0</div>
|
||||
<div class="line"><span class="lineno"> 242</span> ? String.Empty</div>
|
||||
<div class="line"><span class="lineno"> 243</span> : String.Format(</div>
|
||||
<div class="line"><span class="lineno"> 244</span> CultureInfo.InvariantCulture,</div>
|
||||
<div class="line"><span class="lineno"> 245</span> <span class="stringliteral">" (Test Merges: {0})"</span>,</div>
|
||||
<div class="line"><span class="lineno"> 246</span> String.Join(</div>
|
||||
<div class="line"><span class="lineno"> 247</span> <span class="stringliteral">", "</span>,</div>
|
||||
<div class="line"><span class="lineno"> 248</span> revisionInformation</div>
|
||||
<div class="line"><span class="lineno"> 249</span> .ActiveTestMerges!</div>
|
||||
<div class="line"><span class="lineno"> 250</span> .Select(x => x.<a class="code hl_class" href="class_tgstation_1_1_server_1_1_api_1_1_models_1_1_test_merge.html">TestMerge</a>)</div>
|
||||
<div class="line"><span class="lineno"> 251</span> .Select(x =></div>
|
||||
<div class="line"><span class="lineno"> 252</span> {</div>
|
||||
<div class="line"><span class="lineno"> 253</span> var result = String.Format(CultureInfo.InvariantCulture, <span class="stringliteral">"#{0} at {1}"</span>, x.Number, x.TargetCommitSha![..7]);</div>
|
||||
<div class="line"><span class="lineno"> 254</span> <span class="keywordflow">if</span> (x.Comment != <span class="keyword">null</span>)</div>
|
||||
<div class="line"><span class="lineno"> 255</span> result += String.Format(CultureInfo.InvariantCulture, <span class="stringliteral">" ({0})"</span>, x.Comment);</div>
|
||||
<div class="line"><span class="lineno"> 256</span> <span class="keywordflow">return</span> result;</div>
|
||||
<div class="line"><span class="lineno"> 257</span> })));</div>
|
||||
<div class="line"><span class="lineno"> 258</span> </div>
|
||||
<div class="line"><span class="lineno"> 259</span> var prefix = <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_provider.html#a838ad29e96221a58a71b29358c086c0c">GetEngineCompilerPrefix</a>(engineVersion.<a class="code hl_property" href="class_tgstation_1_1_server_1_1_api_1_1_models_1_1_engine_version.html#ae13db4c5dbd6b06c79d37ad9afd25af2">Engine</a>!.Value);</div>
|
||||
<div class="line"><span class="lineno"> 260</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aba0049859728d558ecee46cefed5f930">SendMessage</a>(</div>
|
||||
<div class="line"><span class="lineno"> 261</span> <span class="keyword">null</span>,</div>
|
||||
<div class="line"><span class="lineno"> 262</span> <span class="keyword">new</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_interop_1_1_message_content.html">MessageContent</a></div>
|
||||
<div class="line"><span class="lineno"> 263</span> {</div>
|
||||
<div class="line"><span class="lineno"> 264</span> Text = String.Format(</div>
|
||||
<div class="line"><span class="lineno"> 265</span> CultureInfo.InvariantCulture,</div>
|
||||
<div class="line"><span class="lineno"> 266</span> $<span class="stringliteral">"{prefix}: Deploying revision: {0}{1}{2} BYOND Version: {3}{4}"</span>,</div>
|
||||
<div class="line"><span class="lineno"> 267</span> commitInsert,</div>
|
||||
<div class="line"><span class="lineno"> 268</span> testmergeInsert,</div>
|
||||
<div class="line"><span class="lineno"> 269</span> remoteCommitInsert,</div>
|
||||
<div class="line"><span class="lineno"> 270</span> engineVersion.<a class="code hl_function" href="class_tgstation_1_1_server_1_1_api_1_1_models_1_1_engine_version.html#a5576a2503f8e4371139e9abe80df44d2">ToString</a>(),</div>
|
||||
<div class="line"><span class="lineno"> 271</span> estimatedCompletionTime.HasValue</div>
|
||||
<div class="line"><span class="lineno"> 272</span> ? $<span class="stringliteral">" ETA: {estimatedCompletionTime - DateTimeOffset.UtcNow}"</span></div>
|
||||
<div class="line"><span class="lineno"> 273</span> : String.Empty),</div>
|
||||
<div class="line"><span class="lineno"> 274</span> },</div>
|
||||
<div class="line"><span class="lineno"> 275</span> channelId,</div>
|
||||
<div class="line"><span class="lineno"> 276</span> cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 277</span> </div>
|
||||
<div class="line"><span class="lineno"> 278</span> <span class="keywordflow">return</span> async (errorMessage, dreamMakerOutput) =></div>
|
||||
<div class="line"><span class="lineno"> 279</span> {</div>
|
||||
<div class="line"><span class="lineno"> 280</span> await <a class="code hl_function" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_chat_1_1_providers_1_1_irc_provider.html#aba0049859728d558ecee46cefed5f930">SendMessage</a>(</div>
|
||||
<div class="line"><span class="lineno"> 281</span> <span class="keyword">null</span>,</div>
|
||||
<div class="line"><span class="lineno"> 282</span> <span class="keyword">new</span> <a class="code hl_class" href="class_tgstation_1_1_server_1_1_host_1_1_components_1_1_interop_1_1_message_content.html">MessageContent</a></div>
|
||||
<div class="line"><span class="lineno"> 283</span> {</div>
|
||||
<div class="line"><span class="lineno"> 284</span> Text = $<span class="stringliteral">"{prefix}: Deployment {(errorMessage == null ? "</span>complete<span class="stringliteral">" : "</span>failed<span class="stringliteral">")}!"</span>,</div>
|
||||
<div class="line"><span class="lineno"> 285</span> },</div>
|
||||
<div class="line"><span class="lineno"> 286</span> channelId,</div>
|
||||
<div class="line"><span class="lineno"> 287</span> cancellationToken);</div>
|
||||
<div class="line"><span class="lineno"> 288</span> </div>
|
||||
<div class="line"><span class="lineno"> 289</span> <span class="keywordflow">return</span> active => ValueTask.CompletedTask;</div>
|
||||
<div class="line"><span class="lineno"> 290</span> };</div>
|
||||
<div class="line"><span class="lineno"> 291</span> }</div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_api_1_1_models_1_1_engine_version_html_a5576a2503f8e4371139e9abe80df44d2"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_api_1_1_models_1_1_engine_version.html#a5576a2503f8e4371139e9abe80df44d2">Tgstation.Server.Api.Models.EngineVersion.ToString</a></div><div class="ttdeci">override string ToString()</div><div class="ttdef"><b>Definition</b> <a href="_engine_version_8cs_source.html#l00179">EngineVersion.cs:179</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_api_1_1_models_1_1_engine_version_html_ae13db4c5dbd6b06c79d37ad9afd25af2"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_api_1_1_models_1_1_engine_version.html#ae13db4c5dbd6b06c79d37ad9afd25af2">Tgstation.Server.Api.Models.EngineVersion.Engine</a></div><div class="ttdeci">EngineType? Engine</div><div class="ttdoc">The EngineType.</div><div class="ttdef"><b>Definition</b> <a href="_engine_version_8cs_source.html#l00024">EngineVersion.cs:24</a></div></div>
|
||||
<div class="ttc" id="aclass_tgstation_1_1_server_1_1_api_1_1_models_1_1_test_merge_html"><div class="ttname"><a href="class_tgstation_1_1_server_1_1_api_1_1_models_1_1_test_merge.html">Tgstation.Server.Api.Models.TestMerge</a></div><div class="ttdef"><b>Definition</b> <a href="_tgstation_8_server_8_api_2_models_2_test_merge_8cs_source.html#l00006">TestMerge.cs:7</a></div></div>
|
||||
|
||||
@@ -2262,7 +2262,7 @@ Here is the call graph for this function:</div>
|
||||
|
||||
<p class="definition">Definition at line <a class="el" href="_default_i_o_manager_8cs_source.html#l00031">31</a> of file <a class="el" href="_default_i_o_manager_8cs_source.html">DefaultIOManager.cs</a>.</p>
|
||||
|
||||
<p class="reference">Referenced by <a class="el" href="_repository_8cs_source.html#l00174">Tgstation.Server.Host.Components.Repository.Repository.AddTestMerge()</a>, <a class="el" href="_repository_8cs_source.html#l00376">Tgstation.Server.Host.Components.Repository.Repository.CheckoutObject()</a>, <a class="el" href="_irc_provider_8cs_source.html#l00367">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.Connect()</a>, <a class="el" href="_configuration_8cs_source.html#l00598">Tgstation.Server.Host.Components.StaticFiles.Configuration.CreateDirectory()</a>, <a class="el" href="_windows_process_features_8cs_source.html#l00136">Tgstation.Server.Host.System.WindowsProcessFeatures.CreateDump()</a>, <a class="el" href="_lib_git2_repository_factory_8cs_source.html#l00041">Tgstation.Server.Host.Components.Repository.LibGit2RepositoryFactory.CreateFromPath()</a>, <a class="el" href="_default_i_o_manager_8cs_source.html#l00140">Tgstation.Server.Host.IO.DefaultIOManager.DeleteDirectory()</a>, <a class="el" href="_irc_provider_8cs_source.html#l00442">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.DisconnectImpl()</a>, <a class="el" href="_repository_8cs_source.html#l00417">Tgstation.Server.Host.Components.Repository.Repository.FetchOrigin()</a>, <a class="el" href="_irc_provider_8cs_source.html#l00681">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.HardDisconnect()</a>, <a class="el" href="_repository_8cs_source.html#l00563">Tgstation.Server.Host.Components.Repository.Repository.MergeOrigin()</a>, <a class="el" href="_process_8cs_source.html#l00124">Tgstation.Server.Host.System.Process.Process()</a>, <a class="el" href="_configuration_8cs_source.html#l00293">Tgstation.Server.Host.Components.StaticFiles.Configuration.Read()</a>, <a class="el" href="_irc_provider_8cs_source.html#l00164">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.SendMessage()</a>, <a class="el" href="_repository_8cs_source.html#l00642">Tgstation.Server.Host.Components.Repository.Repository.Synchronize()</a>, <a class="el" href="_repository_8cs_source.html#l01114">Tgstation.Server.Host.Components.Repository.Repository.UpdateSubmodules()</a>, and <a class="el" href="_configuration_8cs_source.html#l00460">Tgstation.Server.Host.Components.StaticFiles.Configuration.Write()</a>.</p>
|
||||
<p class="reference">Referenced by <a class="el" href="_repository_8cs_source.html#l00174">Tgstation.Server.Host.Components.Repository.Repository.AddTestMerge()</a>, <a class="el" href="_repository_8cs_source.html#l00376">Tgstation.Server.Host.Components.Repository.Repository.CheckoutObject()</a>, <a class="el" href="_irc_provider_8cs_source.html#l00365">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.Connect()</a>, <a class="el" href="_configuration_8cs_source.html#l00598">Tgstation.Server.Host.Components.StaticFiles.Configuration.CreateDirectory()</a>, <a class="el" href="_windows_process_features_8cs_source.html#l00136">Tgstation.Server.Host.System.WindowsProcessFeatures.CreateDump()</a>, <a class="el" href="_lib_git2_repository_factory_8cs_source.html#l00041">Tgstation.Server.Host.Components.Repository.LibGit2RepositoryFactory.CreateFromPath()</a>, <a class="el" href="_default_i_o_manager_8cs_source.html#l00140">Tgstation.Server.Host.IO.DefaultIOManager.DeleteDirectory()</a>, <a class="el" href="_irc_provider_8cs_source.html#l00440">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.DisconnectImpl()</a>, <a class="el" href="_repository_8cs_source.html#l00417">Tgstation.Server.Host.Components.Repository.Repository.FetchOrigin()</a>, <a class="el" href="_irc_provider_8cs_source.html#l00679">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.HardDisconnect()</a>, <a class="el" href="_repository_8cs_source.html#l00563">Tgstation.Server.Host.Components.Repository.Repository.MergeOrigin()</a>, <a class="el" href="_process_8cs_source.html#l00124">Tgstation.Server.Host.System.Process.Process()</a>, <a class="el" href="_configuration_8cs_source.html#l00293">Tgstation.Server.Host.Components.StaticFiles.Configuration.Read()</a>, <a class="el" href="_irc_provider_8cs_source.html#l00164">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.SendMessage()</a>, <a class="el" href="_repository_8cs_source.html#l00642">Tgstation.Server.Host.Components.Repository.Repository.Synchronize()</a>, <a class="el" href="_repository_8cs_source.html#l01114">Tgstation.Server.Host.Components.Repository.Repository.UpdateSubmodules()</a>, and <a class="el" href="_configuration_8cs_source.html#l00460">Tgstation.Server.Host.Components.StaticFiles.Configuration.Write()</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -238,7 +238,7 @@ Private Attributes</h2></td></tr>
|
||||
</div><!-- fragment -->
|
||||
<p class="reference">References <a class="el" href="_async_delayer_8cs_source.html#l00016">Tgstation.Server.Host.Utils.AsyncDelayer.logger</a>.</p>
|
||||
|
||||
<p class="reference">Referenced by <a class="el" href="_advanced_watchdog_8cs_source.html#l00146">Tgstation.Server.Host.Components.Watchdog.AdvancedWatchdog.HandleNormalReboot()</a>, <a class="el" href="_irc_provider_8cs_source.html#l00681">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.HardDisconnect()</a>, <a class="el" href="_watchdog_base_8cs_source.html#l00823">Tgstation.Server.Host.Components.Watchdog.WatchdogBase.MonitorRestart()</a>, <a class="el" href="_provider_8cs_source.html#l00280">Tgstation.Server.Host.Components.Chat.Providers.Provider.ReconnectionLoop()</a>, and <a class="el" href="_irc_provider_8cs_source.html#l00611">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.SaslAuthenticate()</a>.</p>
|
||||
<p class="reference">Referenced by <a class="el" href="_advanced_watchdog_8cs_source.html#l00146">Tgstation.Server.Host.Components.Watchdog.AdvancedWatchdog.HandleNormalReboot()</a>, <a class="el" href="_irc_provider_8cs_source.html#l00679">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.HardDisconnect()</a>, <a class="el" href="_watchdog_base_8cs_source.html#l00823">Tgstation.Server.Host.Components.Watchdog.WatchdogBase.MonitorRestart()</a>, <a class="el" href="_provider_8cs_source.html#l00280">Tgstation.Server.Host.Components.Chat.Providers.Provider.ReconnectionLoop()</a>, and <a class="el" href="_irc_provider_8cs_source.html#l00609">Tgstation.Server.Host.Components.Chat.Providers.IrcProvider.SaslAuthenticate()</a>.</p>
|
||||
<div class="dynheader">
|
||||
Here is the caller graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
|
||||
Reference in New Issue
Block a user