Aeron active congestion control mode

44 views Asked by At

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

0

There are 0 answers