Class: KeyServer
Constant Summary collapse
- READSIZE =
4096
Instance Method Summary collapse
- #disconnected(socket) ⇒ Object
-
#initialize(port, callback) ⇒ KeyServer
constructor
A new instance of KeyServer.
-
#listen ⇒ Object
screen_server.listen.
- #register ⇒ Object
Constructor Details
#initialize(port, callback) ⇒ KeyServer
Returns a new instance of KeyServer.
9 10 11 12 |
# File 'lib/server/key_server.rb', line 9 def initialize port, callback @port = port @callback = callback end |
Instance Method Details
#disconnected(socket) ⇒ Object
39 40 41 42 43 |
# File 'lib/server/key_server.rb', line 39 def disconnected(socket) socket_info = Socket.unpack_sockaddr_in(socket.local_address) puts "A key client disconnected: #{socket_info}" return false end |
#listen ⇒ Object
screen_server.listen
15 16 17 18 19 |
# File 'lib/server/key_server.rb', line 15 def listen Thread.new do Socket.tcp_server_loop @port, ®ister end end |
#register ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/server/key_server.rb', line 21 def register ->(socket, client_info) { socket.sync = true Thread.new do loop { key_data = read_key(socket) or break @callback.( key_data ) } end } end |