Module: HomeQ::SOBS::Sender

Included in:
Connection
Defined in:
lib/homeq/sobs/sender.rb

Instance Method Summary collapse

Instance Method Details

#book_it(msg_type) ⇒ Object



33
34
35
36
# File 'lib/homeq/sobs/sender.rb', line 33

def book_it(msg_type)
  @snd_stats[msg_type] ||= 0
  @snd_stats[msg_type] += 1
end

#buried(job_id) ⇒ Object



136
137
138
139
# File 'lib/homeq/sobs/sender.rb', line 136

def buried(job_id)
  book_it(:buried)
  send_to_peer "buried #{job_id}\r\n"
end

#bury(job_id, pri) ⇒ Object



81
82
83
84
# File 'lib/homeq/sobs/sender.rb', line 81

def bury(job_id, pri)
  book_it(:bury)
  send_to_peer "bury #{job_id} #{pri}\r\n"
end

#deadline_soon(job_id) ⇒ Object



116
117
118
119
# File 'lib/homeq/sobs/sender.rb', line 116

def deadline_soon(job_id)
  book_it(:deadline_soon)
  send_to_peer "deadline_soon #{job_id}\r\n"
end

#delete(job_id) ⇒ Object



76
77
78
79
# File 'lib/homeq/sobs/sender.rb', line 76

def delete(job_id)
  book_it(:delete)
  send_to_peer "delete #{job_id}\r\n"
end

#deleted(job_id) ⇒ Object



131
132
133
134
# File 'lib/homeq/sobs/sender.rb', line 131

def deleted(job_id)
  book_it(:deleted)
  send_to_peer "deleted #{job_id}\r\n"
end

#helloObject



38
39
40
41
42
# File 'lib/homeq/sobs/sender.rb', line 38

def hello
  book_it(:hello)
  v = HomeQ::SOBS::PROTOCOL_VERSION
  send_to_peer "hello #{v}\r\n"
end

#inserted(job_id, app_data = 0) ⇒ Object



106
107
108
109
# File 'lib/homeq/sobs/sender.rb', line 106

def inserted(job_id, app_data=0)
  book_it(:inserted)
  send_to_peer "inserted #{job_id} #{app_data}\r\n"
end

#kick(bound) ⇒ Object



86
87
88
89
# File 'lib/homeq/sobs/sender.rb', line 86

def kick(bound)
  book_it(:kick)
  send_to_peer "kick #{bound}\r\n"
end

#kicked(jobs_kicked) ⇒ Object



141
142
143
144
# File 'lib/homeq/sobs/sender.rb', line 141

def kicked(jobs_kicked)
  book_it(:kicked)
  send_to_peer "kicked #{jobs_kicked}\r\n"
end

#not_found(job_id) ⇒ Object



121
122
123
124
# File 'lib/homeq/sobs/sender.rb', line 121

def not_found(job_id)
  book_it(:not_found)
  send_to_peer "not_found #{job_id}\r\n"
end

#put(args) ⇒ Object

Raises:

  • (ArgumentError)


64
65
66
67
68
69
70
71
72
73
74
# File 'lib/homeq/sobs/sender.rb', line 64

def put(args)
  book_it(:put)
  app_data = args[:app_data]
  body     = args[:body]
  pri      = args[:priority] || 0
  delay    = args[:delay] || 0
  ttr      = args[:ttr] || 30
  raise ArgumentError.new('Body cannot be nil') unless body
  raise ArgumentError.new('App data cannot be nil') unless app_data
  send_to_peer "put #{pri} #{delay} #{ttr} #{app_data} #{body.length}\r\n#{body}\r\n"
end

#release(job_id, pri, delay) ⇒ Object



101
102
103
104
# File 'lib/homeq/sobs/sender.rb', line 101

def release(job_id, pri, delay)
  book_it(:release)
  send_to_peer "release #{job_id} #{pri} #{delay}\r\n"
end

#released(job_id) ⇒ Object



126
127
128
129
# File 'lib/homeq/sobs/sender.rb', line 126

def released(job_id)
  book_it(:released)
  send_to_peer "released #{job_id}\r\n"
end

#reserve(timeout = nil) ⇒ Object



54
55
56
57
58
59
60
61
62
# File 'lib/homeq/sobs/sender.rb', line 54

def reserve(timeout = nil)
  if timeout != nil
    book_it(:reserve_with_timeout)
    send_to_peer "reserve-with-timeout #{timeout}\r\n"
  else
    book_it(:reserve)
    send_to_peer "reserve\r\n"
  end
end

#reserved(job_id, payload) ⇒ Object



111
112
113
114
# File 'lib/homeq/sobs/sender.rb', line 111

def reserved(job_id, payload)
  book_it(:reserved)
  send_to_peer "reserved #{job_id} #{payload.length}\r\n#{payload}\r\n"
end

#statsObject



96
97
98
99
# File 'lib/homeq/sobs/sender.rb', line 96

def stats
  book_it(:stats)
  send_to_peer "stats\r\n"
end

#stats_job(job_id) ⇒ Object



91
92
93
94
# File 'lib/homeq/sobs/sender.rb', line 91

def stats_job(job_id)
  book_it(:stats_job)
  send_to_peer "stats-job #{job_id}\r\n"
end

#subscribeObject



44
45
46
47
# File 'lib/homeq/sobs/sender.rb', line 44

def subscribe
  book_it(:subscribe)
  send_to_peer "subscribe\r\n"
end

#unsubscribeObject



49
50
51
52
# File 'lib/homeq/sobs/sender.rb', line 49

def unsubscribe
  book_it(:unsubscribe)
  send_to_peer "unsubscribe\r\n"
end