Basic Interface Attributes
When an interface is selected from the table of interfaces
on the interfaces tab, there are a number of attributes
that are configurable for the interface. Below the interfaces
table, there are a set of 2 or more tabs, one of which
is labelled 'Basic', as shown in the image below.

The basic interface configuration panel shows 6 configurable
attributes. These are each explaned in the following
section:
Autostart Interface
The autostart attribute specifies whether the interface
is started automatically when the Nirvana Realm Server
is started. When this option is not selected, the interface
must be started manually in order for it to be used
by connecting clients. Please note that if autostart
is not set it must be started either manually or using
the Admin API
whenever after the Realm is started.
If Autostart is selected then the interface will be
started once the Apply button is pressed.
Auth Time
The auth time attribute corresponds to the amount of
time a client connection using this interface can take
to perform the correct handshake with the Realm Server.
For example, the default is 10000 milliseconds, but
for some clients connecting on slow modems, and who
are using the nhps (https) protocol, this default auth
time may need to be increased. If any client connection
fails to perform the handshake in the correct timeframe,
the connection is closed by the Realm Server.
Accept Threads
Each Nirvana realm interface contains a server socket.
The accept threads attribute corresponds to the number
of threads that are able to perform the accept() for
a client connection. The accept() operation on a nirvana
interface performs the handshake and authentication
for the client connection. For more heavily utilised
interfaces, the accept threads will need to be increased.
For example, on an nhp (http) or nhps (https) interface,
each client request corresponds to a socket accept()
on the interface, and so the more requests being made,
the busier the interface will be, so the accept threads
needs to be much higher than that of say an nsp (socket)
interface. Socket interfaces maintain a permanent socket
connection, and so the accept() is only performed once
when the connection is first authenticated.
Send Buffersize
This specifies the size of the send buffer on the socket.
Receive Buffersize
This specifies the size of the receive buffer on the socket
Select Threads
The select thread option specifies the number of threads allocated to monitor socket reads/writes on the interface if NIO is enabled. When a socket needs to be read, these threads will fire and pass on the request to the read thread pool. While if the socket is blocked during a write, then when the socket is available to be written to, these threads will fire and the request passed on to the write thread pool. The number of select threads should not typically exceed the number of cores available.
Enable NIO
Specify whether NIO should be used for this interface.
Advertise Interface
All interfaces that are advertised by a realm server
are available to users (with the correct permissions)
of the Nirvana Admin API. This property specifies whether
the interface is indeeed advertised to such users.
Backlog
The backlog attribute specifies the size of the IP
socket queue. This value specifies the maximum size
of the incoming socket request queue. The operating
system the Realm Server is running on may specify a
maximum value for this property. When the maximum queue
size is reached the operating system will refuse incoming
connections until the request queue reduces in size
and more requests can be serviced. For more information
on this value, please see the System administration
documentation for your Operating System.
Alias
Each interface on a Nirvana Realm Server can have an
associated alias in the form of host:port. This alias
can be specified here.
For information on interface
plugins please see the interface guide.
For information on adding VIA
rules for an interface please see the security guide.
When you change any of these attributes, the changes
need to be applied by clicking the 'Apply' button. For
more information, please see the modifying
interfaces documentation.
|