=== Configuring an iNoaaport root server ===
An iNoaaport //root server// is an //Nbsp// server that:
* is configured to allow network connections from other Nbsp servers
* is directly connected to a Noaaport dish
A root master is enabled by setting the variable
set feature(nbs1server) 1
in //features.conf//. No further steps are required for a machine to
act as master.
One important consideration to take into account in a master-slave
configuration is the latency of the connection between the two machines.
Inside a LAN there is not much to worry about. The default settings have
been chosen with that particular case in mind. But in a connection accross
a WAN the latency can have various consequences, including the
client queues growing and the connections being dropped.
For the first problem the //netfilter// can be used to limit the number
of products to send to the client. For the second problem, the parameters
* client_write_timeout_ms
* client_write_timeout_retry
* client_reconnect_wait_sleep_secs
* client_reconnect_wait_sleep_retry
can be used adjusted in //nbspd.conf// to control the timeout limits
in the master respectively.
Starting with nbsp-2.0, if a server disconnects a client for
some reason, the server will keep the client's queue state for
the amount of time indicated in //client_reconnect_wait_sleep_secs//,
and then check if that same client has connected again. It the client
remains disconnected, it will repeat that loop until the number of times
indicated in //client_reconnect_wait_sleep_retry// is reached. If the client
has connected again in any of those cycles, then the server resumes the
transmission to the client at the point where the transmission was suspended.
Otherwise the client's queue state is deleted and if that same client
connects again it will be treated as an entirely new connection.
Those parameters can also be set on a per-client basis through
the variable (see **nbspd.conf**)
clientoptions
See also the file **netfilter** example files for suggestions on how to
configure the server to control what is sent to each slave.