Method: NATS#subscribe
- Defined in:
- lib/nats/client.rb
#subscribe(subject, opts = {}, &callback) ⇒ Object
Subscribe to a subject with optional wildcards. Messages will be delivered to the supplied callback. Callback can take any number of the supplied arguments as defined by the list: msg, reply, sub. Returns subscription id which can be passed to #unsubscribe.
525 526 527 528 529 530 531 532 533 534 535 |
# File 'lib/nats/client.rb', line 525 def subscribe(subject, opts={}, &callback) return unless subject and not draining? sid = (@ssid += 1) sub = @subs[sid] = { :subject => subject, :callback => callback, :received => 0 } sub[:queue] = opts[:queue] if opts[:queue] sub[:max] = opts[:max] if opts[:max] send_command("SUB #{subject} #{opts[:queue]} #{sid}#{CR_LF}") # Setup server support for auto-unsubscribe unsubscribe(sid, opts[:max]) if opts[:max] sid end |