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);