I encounter a problem when trying to activate the congestion control mode (the cubic one). I use it in UDP Multi-Destination-Cast mode with the C driver as non embedded on the receiver side and embedded on the server side. I configure it like that:
var value = Marshal.StringToHGlobalAnsi("aeron_cubic_congestion_control_strategy_supplier");
if (AeronDriverContextSetCongestioncontrolSupplier(_ctx, value) < 0)
throw new MediaDriverException($"AeronDriverContextSetCongestioncontrolSupplier: ({AeronErrcode()}) {AeronErrmsg()}");
var supplier = AeronDriverContextGetCongestioncontrolSupplier(_ctx);
// Marshal.PtrToStringAnsi(supplier) output "aeron_cubic_congestion_control_strategy_supplier"
Below the exception I get on the client side when trying to initiate the connection/subscription :
Adaptive.Agrona.Concurrent.AgentTerminationException: Exception of type 'Adaptive.Agrona.Concurrent.AgentTerminationException' was thrown.
at Adaptive.Aeron.ClientConductor.DoWork()
at Adaptive.Agrona.Concurrent.AgentRunner.DoDutyCycle(IIdleStrategy idleStrategy, IAgent agent)
I configure it only on the client side, am I correct ? My connection works well when I don't set this setting. Do I have to configure another setting in order to not have this AgentTerminationException ? I am under Linux