Class: Localjob::SysvAdapter

Inherits:
Object
  • Object
show all
Defined in:
lib/localjob/sysv_adapter.rb

Constant Summary collapse

RECEIVE_ALL_TYPES =
0

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key, size: 8192, flags: SysVMQ::IPC_CREAT | 0660) ⇒ SysvAdapter

Returns a new instance of SysvAdapter.



9
10
11
12
# File 'lib/localjob/sysv_adapter.rb', line 9

def initialize(key, size: 8192, flags: SysVMQ::IPC_CREAT | 0660)
  @key = key
  @queue = SysVMQ.new(key, size, flags)
end

Instance Attribute Details

#queueObject (readonly)

Returns the value of attribute queue.



7
8
9
# File 'lib/localjob/sysv_adapter.rb', line 7

def queue
  @queue
end

Instance Method Details

#destroyObject



30
31
32
# File 'lib/localjob/sysv_adapter.rb', line 30

def destroy
  queue.destroy
end

#receiveObject



14
15
16
# File 'lib/localjob/sysv_adapter.rb', line 14

def receive
  queue.receive(RECEIVE_ALL_TYPES)
end

#send(message) ⇒ Object



18
19
20
# File 'lib/localjob/sysv_adapter.rb', line 18

def send(message)
  queue.send(message, 1)
end

#sizeObject



22
23
24
# File 'lib/localjob/sysv_adapter.rb', line 22

def size
  queue.stats[:count]
end

#statsObject



26
27
28
# File 'lib/localjob/sysv_adapter.rb', line 26

def stats
  queue.stats
end