diff --git a/src/Tgstation.Server.Host/Components/InstanceFactory.cs b/src/Tgstation.Server.Host/Components/InstanceFactory.cs index 3da4ad7de8..2a091708ca 100644 --- a/src/Tgstation.Server.Host/Components/InstanceFactory.cs +++ b/src/Tgstation.Server.Host/Components/InstanceFactory.cs @@ -43,9 +43,9 @@ namespace Tgstation.Server.Host.Components readonly ILoggerFactory loggerFactory; /// - /// The for the + /// The for the /// - readonly IByondTopicSender byondTopicSender; + readonly ITopicClient byondTopicSender; /// /// The for the @@ -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, diff --git a/src/Tgstation.Server.Host/Components/Watchdog/ISessionController.cs b/src/Tgstation.Server.Host/Components/Watchdog/ISessionController.cs index d2ff0fc147..7eaa564691 100644 --- a/src/Tgstation.Server.Host/Components/Watchdog/ISessionController.cs +++ b/src/Tgstation.Server.Host/Components/Watchdog/ISessionController.cs @@ -93,7 +93,7 @@ namespace Tgstation.Server.Host.Components.Watchdog Task SetRebootState(RebootState newRebootState, CancellationToken cancellationToken); /// - /// Changes to without telling the DMAPI + /// Changes to without telling the DMAPI /// void ResetRebootState(); diff --git a/src/Tgstation.Server.Host/Components/Watchdog/SessionController.cs b/src/Tgstation.Server.Host/Components/Watchdog/SessionController.cs index fb630201a3..b0a4ef7884 100644 --- a/src/Tgstation.Server.Host/Components/Watchdog/SessionController.cs +++ b/src/Tgstation.Server.Host/Components/Watchdog/SessionController.cs @@ -102,9 +102,9 @@ namespace Tgstation.Server.Host.Components.Watchdog readonly ReattachInformation reattachInformation; /// - /// The for the + /// The for the /// - readonly IByondTopicSender byondTopicSender; + readonly ITopicClient byondTopicSender; /// /// The for the @@ -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 } /// - public async Task SendCommand(TopicParameters parameters, CancellationToken cancellationToken) + public async Task 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(topicReturn, DMApiConstants.SerializerSettings); + var result = JsonConvert.DeserializeObject(topicReturn, DMApiConstants.SerializerSettings); if (result.ErrorMessage != null) { logger.LogWarning("Errored topic response for command {0}: {1}", parameters.CommandType, result.ErrorMessage); diff --git a/src/Tgstation.Server.Host/Components/Watchdog/SessionControllerFactory.cs b/src/Tgstation.Server.Host/Components/Watchdog/SessionControllerFactory.cs index af4b413b86..3832ba7c34 100644 --- a/src/Tgstation.Server.Host/Components/Watchdog/SessionControllerFactory.cs +++ b/src/Tgstation.Server.Host/Components/Watchdog/SessionControllerFactory.cs @@ -34,9 +34,9 @@ namespace Tgstation.Server.Host.Components.Watchdog readonly IByondManager byond; /// - /// The for the + /// The for the /// - readonly IByondTopicSender byondTopicSender; + readonly ITopicClient byondTopicSender; /// /// The for the @@ -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, diff --git a/src/Tgstation.Server.Host/Core/Application.cs b/src/Tgstation.Server.Host/Core/Application.cs index e5fb78f0f5..da8e10ae85 100644 --- a/src/Tgstation.Server.Host/Core/Application.cs +++ b/src/Tgstation.Server.Host/Core/Application.cs @@ -282,7 +282,8 @@ namespace Tgstation.Server.Host.Core services.AddSingleton(); services.AddSingleton(); services.AddSingleton(); - services.AddSingleton(new ByondTopicSender + services.AddSingleton(); + services.AddSingleton(new SocketParameters { ReceiveTimeout = postSetupServices.GeneralConfiguration.ByondTopicTimeout, SendTimeout = postSetupServices.GeneralConfiguration.ByondTopicTimeout diff --git a/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj b/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj index a4cca6b34b..8d54cb2b54 100644 --- a/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj +++ b/src/Tgstation.Server.Host/Tgstation.Server.Host.csproj @@ -48,7 +48,7 @@ - + diff --git a/tests/Tgstation.Server.Tests/Instance/WatchdogTest.cs b/tests/Tgstation.Server.Tests/Instance/WatchdogTest.cs index dc7803dc4c..619c919657 100644 --- a/tests/Tgstation.Server.Tests/Instance/WatchdogTest.cs +++ b/tests/Tgstation.Server.Tests/Instance/WatchdogTest.cs @@ -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);