# File lib/jabber4r/protocol.rb, line 120
120:       def receive(element)
121:         while @threadBlocks.size==0 && @filters.size==0
122:           sleep 0.1
123:         end        
124:         Jabber::DEBUG && puts("RECEIVED:\n#{element.to_s}")
125:         @threadBlocks.each do |thread, proc|
126:           begin
127:             proc.call(element)
128:             if element.element_consumed?
129:               @threadBlocks.delete(thread)
130:               thread.wakeup if thread.alive?
131:               return
132:             end
133:           rescue Exception => error
134:             puts error.to_s
135:             puts error.backtrace.join("\n")
136:           end
137:         end
138:         @filters.each_value do |proc|
139:           begin
140:             proc.call(element)
141:             return if element.element_consumed?
142:           rescue Exception => error
143:             puts error.to_s
144:             puts error.backtrace.join("\n")
145:           end
146:         end
147:       end