internal ReactiveMQConsumer(ConsumerConfiguration config) { this.config = config; serializerOptions = new JsonSerializerOptions(); serializerOptions.Converters.Add(new UserAvatarConverter()); serializerOptions.Converters.Add(new StringToUlongConverter()); serializerOptions.Converters.Add(new StringToShortConverter()); serializerOptions.Converters.Add(new StringToEnumConverter <GuildPermission>()); connectionFactory = new ConnectionFactory { Uri = config.ConnectionString, DispatchConsumersAsync = false }; }
public RetsuConsumer( ConsumerConfiguration config, QueueConfiguration publisherConfig) { this.config = config; consumer = new ReactiveMQConsumer(config); publisher = new ReactiveMQPublisher(publisherConfig); var jsonSerializer = new JsonSerializerOptions(); jsonSerializer.Converters.Add(new UserAvatarConverter()); jsonSerializer.Converters.Add(new StringToUlongConverter()); jsonSerializer.Converters.Add(new StringToShortConverter()); jsonSerializer.Converters.Add(new StringToEnumConverter <GuildPermission>()); packageReceivedSubject = new Subject <GatewayMessage>(); eventHandler = new GatewayEventHandler(packageReceivedSubject, jsonSerializer); }