Ringserver configuration file

Updated on 2013-07-12

# Example ringserver configuration file.
#
# Default values are in comments where appropriate.
#
# Dynamic parameters: some parameters will be re-read by ringserver
# whenever the configuration file is modified.
#
# Comment lines begin with a '#' or '*' character.

# Specify the directory where the ringserver will store
# the packet and stream buffers.  This must be specified.

RingDirectory ring

# Specify the ring packet buffer size in bytes.  A trailing
# 'K', 'M' or 'G' may be added for kilo, mega or giga bytes.

#RingSize 1G

# Specify the maximum packet ID.  The maximum ID for SeedLink
# is 16,777,215 (2^16).

#MaxPacketID 16777215

# Specify the maximum packet data size in bytes.

#MaxPacketSize 512

# Listen for DataLink connections on a specified port.  This parameter
# can be specified multiple times to listen for DataLink connections
# on multiple ports.

DataLinkPort 16000

# Listen for SeedLink connections on a specified port.  This parameter
# can be specified multiple times to listen for SeedLink connections
# on multiple ports.

#SeedLinkPort 18000

# Specify the Server ID as reported to the clients.  The parameter may
# be a quoted string including spaces.  Default is "Ring Server".
# This is a dynamic parameter.

#ServerID "Ring Server" 

# Specify the level of verbosity for the server log output.  Valid
# verbosity levels are 0 - 3.  This is a dynamic parameter.

#Verbosity 0

# Specify the maximum number of clients, regardless of protocol,
# allowed to be connected simulataneously, set to 0 for unlimited.
# This is a dynamic parameter.

#MaxClients 600

# Specify a timeout in seconds after which to drop client connections
# that have exchanged no packets with the server within the timeout
# window, set to 0 to disable.  This is a dynamic parameter.

#ClientTimeout 3600

# Control the usage of memory mapping of the ring packet buffer.  If
# this parameter is 1 (or not defined) the packet buffer will be
# memory-mapped directly from the packet buffer file, otherwise it
# will be stored in memory during operation and only read/written
# to/from the packet buffer file during startup and shutdown.
# Normally memory mapping the packet buffer is the best option,
# this parameter allows for operation in environments where memory
# mapping is slow or not possible (e.g. NFS storage).

#MemoryMapRing 1

# Control auto-recovery after corruption detection.  Be default if
# corruption is detected in the ring packet buffer file or stream
# index file during initialization the ring and stream files will be
# renamed with .corrupt extensions and initialization will be
# attempted a 2nd time.  If this option is 0 (off) the server will
# exit on these corruption errors.

#AutoRecovery 1

# Control reverse DNS lookups to resolve hostnames for client IPs.
# By default a reverse lookup is performed whenever a client connects.
# When a reverse DNS lookup fails a small delay will occur, this can
# be avoided by setting this option to 0 (off).
# This is a dynamic parameter.

#ResolveHostnames 1

# Specify a limit, in percent, of the packet buffer to search for time
# windowing requests.  By default the entire packet buffer will be
# searched starting from the earliest packet traversing forward.  If
# this option is set, only the specified percent of the ring will be
# searched starting from the latest packet traversing backward.  To
# turn off time window requsts set this parameter to 0.  This is a
# dynamic parameter, but updated values will only apply to new
# connections.

#TimeWindowLimit 100

# Define the base directory for data transfer logs including both
# data transmission and reception logs.  By default no logs are written.
# This facility will log the number of data packet bytes and packet
# count sent to and/or received from each client during the log interval.
# If this parameter is specified and the directory exists, files will
# be written at a user defined interval with the format:
# "<dir>/[prefix-]txlog-YYYYMMDDTHH:MM-YYYYMMDDTHH:MM" and
# "<dir>/[prefix-]rxlog-YYYYMMDDTHH:MM-YYYYMMDDTHH:MM" 
# This is a dynamic parameter.

#TransferLogDirectory tlog

# Specify the transfer log interval in hours.  This is a dynamic
# parameter.

#TransferLogInterval 24

# Specify a transfer log file prefix, the default is no
# prefix. This is a dynamic parameter.

#TransferLogPrefix <prefix>

# Control the logging of data transmission and reception independently,
# by default both are logged.  The TransferLogDirectory must be set for
# any transfer logs to be written.  To turn off logging of either
# transmission (TX) or reception (RX) set the appropriate parameter to 0.
# These are dynamic parameters.

#TransferLogTX 1
#TransferLogRX 1

# Specify IP addresses or ranges which are allowed to submit (write)
# data to the ringserver.  This parameter can be specified multiple
# times and should be specified in IP and netmask format, e.g.:
# "WriteIP 192.168.0.1/255.255.255.0" or equivalently in bit-count
# format: "WriteIP 192.168.0.1/24".  The netmask may be omitted in
# which case a 32-bit netmask is assumed.  By default only clients
# from 127.0.0.1 (local loopback) are given write permission.  This is
# a dynamic parameter.

#WriteIP <IP>[/netmask]
#WriteIP <IP>[/netmask]

# Limit IP addresses or ranges to only specified stream IDs in the
# ringserver.  A regular expression is used to specify which Stream IDs
# the IP(s) are allowed access to, the expression may be compound and
# must not contain spaces.  By default clients can access any streams
# in the buffer.  This parameter can be specified multiple times and
# should be specified in IP and netmask format, e.g.: "LimitIP
# 192.168.0.1/255.255.255.0" or equivalently in bit-count format:
# "LimitIP 192.168.0.1/24".  The netmask may be omitted in which case
# a 32-bit netmask is assumed.  This is a dynamic parameter.

#LimitIP <IP>[/netmask] <StreamID Pattern>
#LimitIP <IP>[/netmask] <StreamID Pattern>

# Specify IP addresses or ranges which should be specifically allowed
# to connect while all others will be rejected.  By default all IPs 
# are allowed to connect.  This parameter can be specified multiple times
# and should be specified in IP and netmask format, e.g.: "MatchIP
# 192.168.0.1/255.255.255.0" or equivalently in bit-count format:
# "MatchIP 192.168.0.1/24".  The netmask may be omitted in which case
# a 32-bit netmask is assumed.  This is a dynamic parameter.
#
#MatchIP <IP>[/netmask]
#MatchIP <IP>[/netmask]

# Specify IP addresses or ranges which should be rejected immediately
# after connecting.  This parameter can be specified multiple times
# and should be specified in IP and netmask format, e.g.: "RejectIP
# 192.168.0.1/255.255.255.0" or equivalently in bit-count format:
# "RejectIP 192.168.0.1/24".  The netmask may be omitted in which case
# a 32-bit netmask is assumed.  This is a dynamic parameter.

#RejectIP <IP>[/netmask]
#RejectIP <IP>[/netmask]

# Enable a special mode of operation where all Mini-SEED records
# received using the DataLink protocol are written to user specified
# directory and file structures.  See the ringserver(1) man page for
# more details.

#MSeedWrite <format>

# Enable a special mode of operation where files containing Mini-SEED 
# are scanned continuously and data records are inserted into the ring.
# By default all sub-directories will be recursively scanned.  Sub-options
# can be used to control the scanning, the StateFile sub-option is highly
# recommended.
# See the ringserver(1) man page for more details.

#MSeedScan <directory> [StateFile=scan.state] [Match=pattern] [Reject=pattern]