DeclareQueue is a way to declare AMQP queue
(q *Queue)
| 14 | |
| 15 | // DeclareQueue is a way to declare AMQP queue |
| 16 | func DeclareQueue(q *Queue) Declaration { |
| 17 | name := q.Name |
| 18 | return func(c Declarer) error { |
| 19 | q.Name = name |
| 20 | realQ, err := c.QueueDeclare(q.Name, |
| 21 | q.Durable, |
| 22 | q.AutoDelete, |
| 23 | q.Exclusive, |
| 24 | false, |
| 25 | q.Args, |
| 26 | ) |
| 27 | q.l.Lock() |
| 28 | q.Name = realQ.Name |
| 29 | q.l.Unlock() |
| 30 | return err |
| 31 | } |
| 32 | } |
| 33 | |
| 34 | // DeclareExchange is a way to declare AMQP exchange |
| 35 | func DeclareExchange(e Exchange) Declaration { |