Returns next available channel id. This method is thread safe.
@return [Fixnum] @api public @see Channel.release_channel_id @see Channel.reset_channel_id_allocator
# File lib/amqp/channel_id_allocator.rb, line 34 def next_channel_id channel_id_mutex.synchronize do result = int_allocator.allocate raise "No further channels available. Please open a new connection." if result < 0 result end end
Releases previously allocated channel id. This method is thread safe.
@param [Fixnum] Channel id to release @api public @see Channel.next_channel_id @see Channel.reset_channel_id_allocator
# File lib/amqp/channel_id_allocator.rb, line 22 def release_channel_id(i) channel_id_mutex.synchronize do int_allocator.release(i) end end
Resets channel allocator. This method is thread safe. @api public @see Channel.next_channel_id @see Channel.release_channel_id
# File lib/amqp/channel_id_allocator.rb, line 10 def reset_channel_id_allocator channel_id_mutex.synchronize do int_allocator.reset end end