private AeronClient(ClientServerConfig config) { _config = config; AeronDriver.DriverContext driverContext = config.ToDriverContext(); Adaptive.Aeron.Aeron.Context clientContext = config.ToClientContext(); driverContext .LoggerInfo(_driverLog.Info) .LoggerWarning(_driverLog.Warn) .LoggerWarning(_driverLog.Error); _driver = AeronDriver.Start(driverContext); clientContext .ErrorHandler(OnError) .AvailableImageHandler(ConnectionOnImageAvailable) .UnavailableImageHandler(ConnectionOnImageUnavailable); _client = Adaptive.Aeron.Aeron.Connect(clientContext); const int sessionsLen = #if DEBUG 1; #else 64; #endif _clientSessions = new AeronClientSession[sessionsLen]; }
/// <summary> /// Creates a new instance of the provider with the supplied parameters. /// </summary> /// <param name="systemContext">the Aeron system context to use</param> /// <param name="stream">the Aeron stream ID</param> /// <param name="address">the address to use for UDP transmission</param> /// <param name="port">the port to use for UDP transmission</param> /// <param name="bufferSize">the Aeron buffer size</param> /// <param name="interface">the local interface to bind to (optional)</param> public Aeron( Adaptive.Aeron.Aeron.Context systemContext, int stream, string address, int port, int bufferSize, string @interface ) { _stream = stream; _address = address; _port = port; _bufferSize = bufferSize; _interface = @interface; _aeron = Adaptive.Aeron.Aeron.Connect(systemContext); }
public AeronServer(int serverPort, ClientServerConfig config) { _config = config; _driverContext = config.ToDriverContext(); _clientContext = config.ToClientContext(); _driverContext .LoggerInfo(_driverLog.Info) .LoggerWarning(_driverLog.Warn) .LoggerWarning(_driverLog.Error); _driver = AeronDriver.Start(_driverContext); _clientContext .ErrorHandler(OnError) .AvailableImageHandler(ConnectionOnImageAvailable) .UnavailableImageHandler(ConnectionOnImageUnavailable); _client = Adaptive.Aeron.Aeron.Connect(_clientContext); _publicationIdleStrategy = _config.ClientIdleStrategy.GetClientIdleStrategy(); _subscription = _client.AddSubscription($"aeron:udp?endpoint=0.0.0.0:{serverPort}", ServerStreamId); }