Class: Vertx::NetServer

Inherits:
Object
  • Object
show all
Includes:
SSLSupport, TCPSupport
Defined in:
src/main/ruby_scripts/core/net.rb

Overview

Represents a TCP or SSL Server When connections are accepted by the server they are supplied to the user in the form of a NetSocket instance that is passed via the handler set using #connect_handler.

Author:

Instance Method Summary (collapse)

Methods included from SSLSupport

#key_store_password=, #key_store_path=, #ssl=, #trust_store_password=, #trust_store_path=

Methods included from TCPSupport

#receive_buffer_size=, #reuse_address=, #send_buffer_size=, #so_linger=, #tcp_keep_alive=, #traffic_class=

Constructor Details

- (NetServer) initialize

Create a new NetServer


33
34
35
# File 'src/main/ruby_scripts/core/net.rb', line 33

def initialize
  @j_del = org.vertx.java.deploy.impl.VertxLocator.vertx.createNetServer
end

Instance Method Details

- (Object) client_auth_required=(val)

Client authentication is an extra level of security in SSL, and requires clients to provide client certificates. Those certificates must be added to the server trust store. do not authenticate then they will not make a connection.

Parameters:

  • val. (Boolean)
    If true then the server will request client authentication from any connecting clients, if they


41
42
43
44
# File 'src/main/ruby_scripts/core/net.rb', line 41

def client_auth_required=(val)
  @j_del.setClientAuthRequired(val)
  self
end

- (Object) close(&hndlr)

Close the server. The handler will be called when the close is complete.


68
69
70
# File 'src/main/ruby_scripts/core/net.rb', line 68

def close(&hndlr)
  @j_del.close(hndlr)
end

- (NetServer) connect_handler(proc = nil, &hndlr)

Supply a connect handler for this server. The server can only have at most one connect handler at any one time. As the server accepts TCP or SSL connections it creates an instance of Vertx::NetSocket and passes it to the connect handler.

Parameters:

  • proc (Proc) (defaults to: nil)
    A proc to be used as the handler
  • hndlr (Block)
    A block to be used as the handler

Returns:

  • (NetServer)
    A reference to self so invocations can be chained


52
53
54
55
56
# File 'src/main/ruby_scripts/core/net.rb', line 52

def connect_handler(proc = nil, &hndlr)
  hndlr = proc if proc
  @j_del.connectHandler{ |j_socket| hndlr.call(NetSocket.new(j_socket)) }
  self
end

- (NetServer) listen(port, host = "0.0.0.0")

Instruct the server to listen for incoming connections.

Parameters:

  • port. (FixNum)
    The port to listen on.
  • host. (FixNum)
    The host name or ip address to listen on.

Returns:

  • (NetServer)
    A reference to self so invocations can be chained


62
63
64
65
# File 'src/main/ruby_scripts/core/net.rb', line 62

def listen(port, host = "0.0.0.0")
  @j_del.listen(port, host)
  self
end