Esempio n. 1
0
        public IProducer Build()
        {
            if (string.IsNullOrWhiteSpace(this._options.GroupName))
            {
                throw new ArgumentNullException(nameof(this._options.GroupName));
            }

            var producer = new DefaultProducer(this._options, this._handleRef.Handle, this._producerFacade, this._diagnosticListener);

            this._handleRef = new HandleRef(null, IntPtr.Zero);

            return(producer);
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            Console.Title = "Producer";

            var functionLoader = new FunctionLoader();
            var producer       = new DefaultProducer(functionLoader);

            using (var messageBuilder = new MessageBuilder(functionLoader))
            {
                producer.CreateProducer("xxx");

                var code1 = producer.SetProducerNameServerAddress("47.101.55.250:9876");
                var code2 = producer.SetProducerLogLevel(LogLevel.Debug);
                var code3 = producer.StartProducer();

                Console.WriteLine("press any key to send message.");
                Console.ReadKey(true);
                messageBuilder.CreateMessage("test");
                var code4 = messageBuilder.SetMessageBody("hello" + Guid.NewGuid().ToString("N"));
                //var code5 = messageBuilder.SetMessageTags("xxxxfff中国");
                //var code6 = messageBuilder.SetMessageKeys($"123:{Guid.NewGuid():N}");
                //var code7 = messageBuilder.SetMessageProperty("key1", "value1");
                //var code8 = messageBuilder.SetDelayTimeLevel(1);

                var result1 = producer.SendMessageSync(messageBuilder);

                //在 cpp sdk 未找到此方法
                //var result2 = producer.SendMessageAsync(messageBuilder).GetAwaiter().GetResult();

                //var result3 = producer.SendMessageOneway(messageBuilder);

                //var result4 = producer.SendMessageOrderly(messageBuilder, (size, message, arg) => { return 0; }, string.Empty, 1);
            }

            var code20 = producer.ShutdownProducer();
            var code21 = producer.DestroyProducer();
        }