# File lib/qrack/subscription.rb, line 8
                def initialize(client, queue, opts = {})
                        @client = client
                        @queue = queue
                
                        # Get timeout value
                        @timeout = opts[:timeout] || nil
                
                        # Get maximum amount of messages to process
                        @message_max = opts[:message_max] || nil

                        # If a consumer tag is not passed in the server will generate one
                        @consumer_tag = opts[:consumer_tag] || nil

                        # Ignore the :nowait option if passed, otherwise program will hang waiting for a
                        # response from the server causing an error.
                        opts.delete(:nowait)

                        # Do we want to have to provide an acknowledgement?
                        @ack = opts[:ack] || nil
                        
                        # Does this consumer want exclusive use of the queue?
                        @exclusive = opts[:exclusive] || false
                
                        # Initialize message counter
                        @message_count = 0
                        
                        # Give queue reference to this subscription
                        @queue.subscription = self
                        
                        # Store options
                        @opts = opts
                
                end