1+ using System . Threading . Tasks ;
2+
3+ namespace RabbitMQ . Client . Core . DependencyInjection
4+ {
5+ /// <summary>
6+ /// Custom RabbitMQ producing service interface.
7+ /// </summary>
8+ public interface IProducingService
9+ {
10+ /// <summary>
11+ /// RabbitMQ producing connection.
12+ /// </summary>
13+ IConnection Connection { get ; }
14+
15+ /// <summary>
16+ /// RabbitMQ producing channel.
17+ /// </summary>
18+ IModel Channel { get ; }
19+
20+ /// <summary>
21+ /// Send a message.
22+ /// </summary>
23+ /// <typeparam name="T">Model class.</typeparam>
24+ /// <param name="object">Object message.</param>
25+ /// <param name="exchangeName">Exchange name.</param>
26+ /// <param name="routingKey">Routing key.</param>
27+ void Send < T > ( T @object , string exchangeName , string routingKey ) where T : class ;
28+
29+ /// <summary>
30+ /// Send a delayed message.
31+ /// </summary>
32+ /// <typeparam name="T">Model class.</typeparam>
33+ /// <param name="object">Object message.</param>
34+ /// <param name="exchangeName">Exchange name.</param>
35+ /// <param name="routingKey">Routing key.</param>
36+ /// <param name="secondsDelay">Delay time.</param>
37+ void Send < T > ( T @object , string exchangeName , string routingKey , int secondsDelay ) where T : class ;
38+
39+ /// <summary>
40+ /// Send a message.
41+ /// </summary>
42+ /// <param name="json">Json message.</param>
43+ /// <param name="exchangeName">Exchange name.</param>
44+ /// <param name="routingKey">Routing key.</param>
45+ void SendJson ( string json , string exchangeName , string routingKey ) ;
46+
47+ /// <summary>
48+ /// Send a delayed message.
49+ /// </summary>
50+ /// <param name="json"></param>
51+ /// <param name="exchangeName"></param>
52+ /// <param name="routingKey"></param>
53+ /// <param name="secondsDelay">Delay time.</param>
54+ void SendJson ( string json , string exchangeName , string routingKey , int secondsDelay ) ;
55+
56+ /// <summary>
57+ /// Send a message.
58+ /// </summary>
59+ /// <param name="message">Message.</param>
60+ /// <param name="exchangeName">Exchange name.</param>
61+ /// <param name="routingKey">Routing key.</param>
62+ void SendString ( string message , string exchangeName , string routingKey ) ;
63+
64+ /// <summary>
65+ /// Send a delayed message.
66+ /// </summary>
67+ /// <param name="message">Message.</param>
68+ /// <param name="exchangeName">Exchange name.</param>
69+ /// <param name="routingKey">Routing key.</param>
70+ /// <param name="secondsDelay">Delay time.</param>
71+ void SendString ( string message , string exchangeName , string routingKey , int secondsDelay ) ;
72+
73+ /// <summary>
74+ /// Send a message.
75+ /// </summary>
76+ /// <param name="bytes">Byte array message.</param>
77+ /// <param name="properties">Message properties.</param>
78+ /// <param name="exchangeName">Exchange name.</param>
79+ /// <param name="routingKey">Routing key.</param>
80+ void Send ( byte [ ] bytes , IBasicProperties properties , string exchangeName , string routingKey ) ;
81+
82+ /// <summary>
83+ /// Send a delayed message.
84+ /// </summary>
85+ /// <param name="bytes">Byte array message.</param>
86+ /// <param name="properties">Message properties.</param>
87+ /// <param name="exchangeName">Exchange name.</param>
88+ /// <param name="routingKey">Routing key.</param>
89+ /// <param name="secondsDelay">Delay time.</param>
90+ void Send ( byte [ ] bytes , IBasicProperties properties , string exchangeName , string routingKey , int secondsDelay ) ;
91+
92+ /// <summary>
93+ /// Send a message asynchronously.
94+ /// </summary>
95+ /// <typeparam name="T">Model class.</typeparam>
96+ /// <param name="object">Object message.</param>
97+ /// <param name="exchangeName">Exchange name.</param>
98+ /// <param name="routingKey">Routing key.</param>
99+ Task SendAsync < T > ( T @object , string exchangeName , string routingKey ) where T : class ;
100+
101+ /// <summary>
102+ /// Send a delayed message asynchronously.
103+ /// </summary>
104+ /// <typeparam name="T">Model class.</typeparam>
105+ /// <param name="object">Object message.</param>
106+ /// <param name="exchangeName">Exchange name.</param>
107+ /// <param name="routingKey">Routing key.</param>
108+ /// <param name="secondsDelay">Delay time.</param>
109+ Task SendAsync < T > ( T @object , string exchangeName , string routingKey , int secondsDelay ) where T : class ;
110+
111+ /// <summary>
112+ /// Send a message asynchronously.
113+ /// </summary>
114+ /// <param name="json">Json message.</param>
115+ /// <param name="exchangeName">Exchange name.</param>
116+ /// <param name="routingKey">Routing key.</param>
117+ Task SendJsonAsync ( string json , string exchangeName , string routingKey ) ;
118+
119+ /// <summary>
120+ /// Send a delayed message asynchronously.
121+ /// </summary>
122+ /// <param name="json">Json message.</param>
123+ /// <param name="exchangeName">Exchange name.</param>
124+ /// <param name="routingKey">Routing key.</param>
125+ /// <param name="secondsDelay">Delay time.</param>
126+ Task SendJsonAsync ( string json , string exchangeName , string routingKey , int secondsDelay ) ;
127+
128+ /// <summary>
129+ /// Send a message asynchronously.
130+ /// </summary>
131+ /// <param name="message">Message.</param>
132+ /// <param name="exchangeName">Exchange name.</param>
133+ /// <param name="routingKey">Routing key.</param>
134+ Task SendStringAsync ( string message , string exchangeName , string routingKey ) ;
135+
136+ /// <summary>
137+ /// Send a delayed message asynchronously.
138+ /// </summary>
139+ /// <param name="message">Message.</param>
140+ /// <param name="exchangeName">Exchange name.</param>
141+ /// <param name="routingKey">Routing key.</param>
142+ /// <param name="secondsDelay">Delay time.</param>
143+ Task SendStringAsync ( string message , string exchangeName , string routingKey , int secondsDelay ) ;
144+
145+ /// <summary>
146+ /// Send a message asynchronously.
147+ /// </summary>
148+ /// <param name="bytes">Byte array message.</param>
149+ /// <param name="properties">Message properties.</param>
150+ /// <param name="exchangeName">Exchange name.</param>
151+ /// <param name="routingKey">Routing key.</param>
152+ Task SendAsync ( byte [ ] bytes , IBasicProperties properties , string exchangeName , string routingKey ) ;
153+
154+ /// <summary>
155+ /// Send a delayed message asynchronously.
156+ /// </summary>
157+ /// <param name="bytes">Byte array message.</param>
158+ /// <param name="properties">Message properties.</param>
159+ /// <param name="exchangeName">Exchange name.</param>
160+ /// <param name="routingKey">Routing key.</param>
161+ /// <param name="secondsDelay">Delay time.</param>
162+ Task SendAsync ( byte [ ] bytes , IBasicProperties properties , string exchangeName , string routingKey , int secondsDelay ) ;
163+ }
164+ }
0 commit comments