diff --git a/src/Adaptive.Archiver/AeronArchive.cs b/src/Adaptive.Archiver/AeronArchive.cs index cf6f4d7..69582a4 100644 --- a/src/Adaptive.Archiver/AeronArchive.cs +++ b/src/Adaptive.Archiver/AeronArchive.cs @@ -3325,6 +3325,28 @@ public AgentInvoker AgentInvoker() return agentInvoker; } + internal int RunInvokers() + { + int workCount = 0; + + Aeron.Aeron aeronClient = AeronClient(); + if (null != aeronClient) + { + AgentInvoker conductorAgentInvoker = aeronClient.ConductorAgentInvoker; + if (null != conductorAgentInvoker) + { + workCount += conductorAgentInvoker.Invoke(); + } + } + + if (null != agentInvoker) + { + workCount += agentInvoker.Invoke(); + } + + return workCount; + } + /// /// Get the to be used for authentication with the archive. /// @@ -3577,6 +3599,7 @@ public AsyncConnectState State() public AeronArchive Poll() { CheckDeadline(); + ctx.RunInvokers(); if (AsyncConnectState.ADD_PUBLICATION == state) {