Class: ScreenServer

Inherits:
Object
  • Object
show all
Includes:
Celluloid
Defined in:
lib/server/screen_server.rb

Instance Method Summary collapse

Constructor Details

#initialize(port) ⇒ ScreenServer

Returns a new instance of ScreenServer.



8
9
10
11
# File 'lib/server/screen_server.rb', line 8

def initialize port
  @port    = port
  @sockets = []
end

Instance Method Details

#listenObject



13
14
15
16
17
# File 'lib/server/screen_server.rb', line 13

def listen
  Thread.new do
    Socket.tcp_server_loop @port, &register
  end
end

#registerObject



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

def register
  ->(socket, client_info) {
    socket.sync = true
    @sockets << socket
  }
end

#write(update) ⇒ Object

screen_server.async.write



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

def write update
  @sockets.each { |s| safe_write(s, update) }
end