class Celluloid::IO::TCPServer
TCPServer with combined blocking and evented support
Public Class Methods
from_ruby_server(ruby_server)
click to toggle source
Convert a Ruby TCPServer into a Celluloid::IO::TCPServer @deprecated Use .new instead.
# File lib/celluloid/io/tcp_server.rb, line 47 def self.from_ruby_server(ruby_server) warn "#from_ruby_server is deprecated please use .new instead" self.new(ruby_server) end
new(*args)
click to toggle source
@overload initialize(port)
Opens a tcp server on the given port. @param port [Numeric]
@overload initialize(hostname, port)
Opens a tcp server on the given port and interface. @param hostname [String] @param port [Numeric]
@overload initialize(socket)
Wraps an already existing tcp server instance. @param socket [::TCPServer]
Calls superclass method
Celluloid::IO::Socket.new
# File lib/celluloid/io/tcp_server.rb, line 22 def initialize(*args) if args.first.kind_of? ::BasicSocket # socket socket = args.first fail ArgumentError, "wrong number of arguments (#{args.size} for 1)" if args.size != 1 fail ArgumentError, "wrong kind of socket (#{socket.class} for TCPServer)" unless socket.kind_of? ::TCPServer super(socket) else super(::TCPServer.new(*args)) end end
Public Instance Methods
accept()
click to toggle source
@return [TCPSocket]
# File lib/celluloid/io/tcp_server.rb, line 35 def accept Celluloid::IO.wait_readable(to_io) accept_nonblock end
accept_nonblock()
click to toggle source
@return [TCPSocket]
# File lib/celluloid/io/tcp_server.rb, line 41 def accept_nonblock Celluloid::IO::TCPSocket.new(to_io.accept_nonblock) end