GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  MOJO::IOLOOP::SERVER (3)

.ds Aq ’

NAME

Mojo::IOLoop::Server - Non-blocking TCP server

CONTENTS

SYNOPSIS



  use Mojo::IOLoop::Server;

  # Create listen socket
  my $server = Mojo::IOLoop::Server->new;
  $server->on(accept => sub {
    my ($server, $handle) = @_;
    ...
  });
  $server->listen(port => 3000);

  # Start and stop accepting connections
  $server->start;
  $server->stop;

  # Start reactor if necessary
  $server->reactor->start unless $server->reactor->is_running;



DESCRIPTION

Mojo::IOLoop::Server accepts TCP connections for Mojo::IOLoop.

EVENTS

Mojo::IOLoop::Server inherits all events from Mojo::EventEmitter and can emit the following new ones.

    accept



  $server->on(accept => sub {
    my ($server, $handle) = @_;
    ...
  });



Emitted for each accepted connection.

ATTRIBUTES

Mojo::IOLoop::Server implements the following attributes.

    reactor



  my $reactor = $server->reactor;
  $server     = $server->reactor(Mojo::Reactor::Poll->new);



Low-level event reactor, defaults to the reactor attribute value of the global Mojo::IOLoop singleton.

METHODS

Mojo::IOLoop::Server inherits all methods from Mojo::EventEmitter and implements the following new ones.

    generate_port



  my $port = $server->generate_port;



Find a free TCP port, primarily used for tests.

    handle



  my $handle = $server->handle;



Get handle for server.

    is_accepting



  my $bool = $server->is_accepting;



Check if connections are currently being accepted.

    listen



  $server->listen(port => 3000);



Create a new listen socket. Note that TLS support depends on IO::Socket::SSL (1.94+).

These options are currently available:
address


  address => 127.0.0.1



Local address to listen on, defaults to 0.0.0.0.

backlog


  backlog => 128



Maximum backlog size, defaults to SOMAXCONN.

port


  port => 80



Port to listen on, defaults to a random port.

reuse


  reuse => 1



Allow multiple servers to use the same port with the SO_REUSEPORT socket option.

single_accept


  single_accept => 1



Only accept one connection at a time.

tls


  tls => 1



Enable TLS.

tls_ca


  tls_ca => /etc/tls/ca.crt



Path to TLS certificate authority file.

tls_cert


  tls_cert => /etc/tls/server.crt
  tls_cert => {mojolicious.org => /etc/tls/mojo.crt}



Path to the TLS cert file, defaults to a built-in test certificate.

tls_ciphers


  tls_ciphers => AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH



TLS cipher specification string. For more information about the format see <https://www.openssl.org/docs/manmaster/apps/ciphers.html#CIPHER-STRINGS>.

tls_key


  tls_key => /etc/tls/server.key
  tls_key => {mojolicious.org => /etc/tls/mojo.key}



Path to the TLS key file, defaults to a built-in test key.

tls_verify


  tls_verify => 0x00



TLS verification mode, defaults to 0x03.

tls_version


  tls_version => TLSv1_2



TLS protocol version.

    port



  my $port = $server->port;



Get port this server is listening on.

    start



  $server->start;



Start or resume accepting connections.

    stop



  $server->stop;



Stop accepting connections.

SEE ALSO

Mojolicious, Mojolicious::Guides, <http://mojolicious.org>.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 MOJO::IOLOOP::SERVER (3) 2016-03-15

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.