Upgrade to BYOND.TopicSender 3.0.0

This commit is contained in:
Jordan Brown
2020-05-07 14:39:11 -04:00
parent 7115df2cc3
commit d2ab78c8ce
7 changed files with 19 additions and 18 deletions
@@ -43,9 +43,9 @@ namespace Tgstation.Server.Host.Components
readonly ILoggerFactory loggerFactory;
/// <summary>
/// The <see cref="IByondTopicSender"/> for the <see cref="InstanceFactory"/>
/// The <see cref="ITopicClient"/> for the <see cref="InstanceFactory"/>
/// </summary>
readonly IByondTopicSender byondTopicSender;
readonly ITopicClient byondTopicSender;
/// <summary>
/// The <see cref="ICryptographySuite"/> for the <see cref="InstanceFactory"/>
@@ -150,7 +150,7 @@ namespace Tgstation.Server.Host.Components
IDatabaseContextFactory databaseContextFactory,
IAssemblyInformationProvider assemblyInformationProvider,
ILoggerFactory loggerFactory,
IByondTopicSender byondTopicSender,
ITopicClient byondTopicSender,
ICryptographySuite cryptographySuite,
ISynchronousIOManager synchronousIOManager,
ISymlinkFactory symlinkFactory,
@@ -93,7 +93,7 @@ namespace Tgstation.Server.Host.Components.Watchdog
Task<bool> SetRebootState(RebootState newRebootState, CancellationToken cancellationToken);
/// <summary>
/// Changes <see cref="RebootState"/> to <see cref="Watchdog.RebootState.Normal"/> without telling the DMAPI
/// Changes <see cref="RebootState"/> to <see cref="RebootState.Normal"/> without telling the DMAPI
/// </summary>
void ResetRebootState();
@@ -102,9 +102,9 @@ namespace Tgstation.Server.Host.Components.Watchdog
readonly ReattachInformation reattachInformation;
/// <summary>
/// The <see cref="IByondTopicSender"/> for the <see cref="SessionController"/>
/// The <see cref="ITopicClient"/> for the <see cref="SessionController"/>
/// </summary>
readonly IByondTopicSender byondTopicSender;
readonly ITopicClient byondTopicSender;
/// <summary>
/// The <see cref="IBridgeRegistration"/> for the <see cref="SessionController"/>
@@ -193,7 +193,7 @@ namespace Tgstation.Server.Host.Components.Watchdog
ReattachInformation reattachInformation,
IProcess process,
IByondExecutableLock byondLock,
IByondTopicSender byondTopicSender,
ITopicClient byondTopicSender,
IChatTrackingContext chatTrackingContext,
IBridgeRegistrar bridgeRegistrar,
IChatManager chat,
@@ -495,7 +495,7 @@ namespace Tgstation.Server.Host.Components.Watchdog
}
/// <inheritdoc />
public async Task<TopicResponse> SendCommand(TopicParameters parameters, CancellationToken cancellationToken)
public async Task<Interop.Topic.TopicResponse> SendCommand(TopicParameters parameters, CancellationToken cancellationToken)
{
if (Lifetime.IsCompleted)
{
@@ -517,19 +517,19 @@ namespace Tgstation.Server.Host.Components.Watchdog
byondTopicSender.SanitizeString(json));
var targetPort = reattachInformation.Port;
logger.LogTrace("Export to :{0}. Query: {1}", targetPort, commandString);
var topicReturn = await byondTopicSender.SendTopic(
var topicResponse = await byondTopicSender.SendTopic(
new IPEndPoint(IPAddress.Loopback, targetPort),
commandString,
cancellationToken).ConfigureAwait(false);
var topicReturn = topicResponse.StringData;
if (topicReturn != null)
logger.LogTrace("Topic response: {0}", topicReturn);
try
{
var result = JsonConvert.DeserializeObject<TopicResponse>(topicReturn, DMApiConstants.SerializerSettings);
var result = JsonConvert.DeserializeObject<Interop.Topic.TopicResponse>(topicReturn, DMApiConstants.SerializerSettings);
if (result.ErrorMessage != null)
{
logger.LogWarning("Errored topic response for command {0}: {1}", parameters.CommandType, result.ErrorMessage);
@@ -34,9 +34,9 @@ namespace Tgstation.Server.Host.Components.Watchdog
readonly IByondManager byond;
/// <summary>
/// The <see cref="IByondTopicSender"/> for the <see cref="SessionControllerFactory"/>
/// The <see cref="ITopicClient"/> for the <see cref="SessionControllerFactory"/>
/// </summary>
readonly IByondTopicSender byondTopicSender;
readonly ITopicClient byondTopicSender;
/// <summary>
/// The <see cref="ICryptographySuite"/> for the <see cref="SessionControllerFactory"/>
@@ -123,7 +123,7 @@ namespace Tgstation.Server.Host.Components.Watchdog
public SessionControllerFactory(
IProcessExecutor processExecutor,
IByondManager byond,
IByondTopicSender byondTopicSender,
ITopicClient byondTopicSender,
ICryptographySuite cryptographySuite,
IAssemblyInformationProvider assemblyInformationProvider,
IIOManager ioManager,
@@ -282,7 +282,8 @@ namespace Tgstation.Server.Host.Core
services.AddSingleton<IGitHubClientFactory, GitHubClientFactory>();
services.AddSingleton<IProcessExecutor, ProcessExecutor>();
services.AddSingleton<IServerPortProvider, ServerPortProivder>();
services.AddSingleton<IByondTopicSender>(new ByondTopicSender
services.AddSingleton<ITopicClient, TopicClient>();
services.AddSingleton(new SocketParameters
{
ReceiveTimeout = postSetupServices.GeneralConfiguration.ByondTopicTimeout,
SendTimeout = postSetupServices.GeneralConfiguration.ByondTopicTimeout
@@ -48,7 +48,7 @@
<ItemGroup>
<PackageReference Include="BetterWin32Errors" Version="0.2.0" />
<PackageReference Include="Byond.TopicSender" Version="2.0.0" />
<PackageReference Include="Byond.TopicSender" Version="3.0.0" />
<PackageReference Include="Cyberboss.AspNetCore.AsyncInitializer" Version="1.2.0" />
<PackageReference Include="Cyberboss.SmartIrc4net.Standard" Version="0.4.6" />
<PackageReference Include="Discord.Net.WebSocket" Version="2.2.0" />
@@ -174,11 +174,11 @@ namespace Tgstation.Server.Tests.Instance
async Task TellWorldToReboot(CancellationToken cancellationToken)
{
IByondTopicSender bts = new ByondTopicSender
var bts = new TopicClient(new SocketParameters
{
SendTimeout = 5000,
ReceiveTimeout = 5000
};
});
var result = await bts.SendTopic(IPAddress.Loopback, "tgs_integration_test_special_tactics=1", 1337, cancellationToken);
Assert.AreEqual("ack", result);