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