Class: PackServ::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/packserv/server.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(proto = nil) ⇒ Server



5
6
7
8
9
10
11
12
# File 'lib/packserv/server.rb', line 5

def initialize(proto = nil)
  @proto = proto || DefaultProtocol

  @handler = ->(_) {}
  @packers = {}
  @event_queue = Queue.new
  @threads = ThreadGroup.new
end

Instance Attribute Details

#handlerObject

Returns the value of attribute handler.



3
4
5
# File 'lib/packserv/server.rb', line 3

def handler
  @handler
end

Instance Method Details

#event(data) ⇒ Object



14
15
16
# File 'lib/packserv/server.rb', line 14

def event(data)
  @event_queue.push(data)
end

#serve(port) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/packserv/server.rb', line 18

def serve(port)
  server = TCPServer.new(port)

  @threads.add(Thread.new { _serve(server) })
  @threads.add(Thread.new { deliver_events })

  self
end

#stopObject



27
28
29
# File 'lib/packserv/server.rb', line 27

def stop
  @threads.list.map(&:exit)
end