wiki:export_scn_pri

Version 1 (modified by branden, 10 years ago) (diff)

--

Earthworm Module: export_scn_pri

Contributed by:

Function

Exports EARTHWORM messages over Internet (partner to import_generic).

Details

Import-Export Overview

EXAMPLE CONFIGURATION FILE

# export_scn_pri configuration file # # This configuration is the same as for export_scn, excepting that it allows # priorities to be specified on the Send_scn command lines (at bottom). # Since export_scn will ignore the differences, the same configuration file # can be used with either module. # # Exports messages from a given list of station/channel/network codes # Knows how to decipher TYPE_TRACEBUF, TYPE_PICK2K, TYPE_CODA2K msgs # #Background: # Import/Export? are the long-distance message transfer # modules. They operate as one-on-one pairs. There are three variants of # export: export_generic, which ships messages with specified logos, export_scn # which ships only trace data, but with specified SCN names and export_scn_pri # which behaves as export_scn, but also prioritizes SCNs for shipment. # # Import/Export? send heartbeats to each other, as well as into their # local earthworm systems. If the heartbeat from the distant partner is # not received whithin the expected time period (RcvAliveInt?) the link is # terminated, and an attempt to reconnect is initiated. If things go # seriously wrong, the heartbeat into the local earthworm system in # stopped. The expectation is that "restartMe" has been set in the .desc # file, and we'll be killed and restarted. # # All socket operations are performed with a timeout. This is noramlly # defaulted, but can be set in this file (SocketTimeout?). # # Export maintains a circular FIFO buffer of messages to be shipped. The # size of this buffer (RingSize?) controls the maximum latency of the # data. # # #Configuration notes: # # "restartMe" should be stated in our desc file. # # The period of our local heartbeat (HeartBeatInt?) must be safely smaller # (faster) than our advertised period in our .desc file (tsec:). # Otherwise we'll get continually restarted for no good reason. # Note that tsec:0 implies no heartbeats expected, and so we'll never get # restarted. # # The rate at which we send heartbeats to our distant partner should be # considerably faster than the rate at which our partner expects them. # Otherwise, a heartbeat delayed in transmission will cause our partner to # conclude that the link is broken, and cause them to break the link and # reinitialize. Which will cause us to do the same. # # For export, the ServerIPAdr is the address of the port to be used in # the exporting machine. This is to specify a network card case the # exporting machine has several network cards. # # If SocketTimeout? is specified, it should be at least as large as the # expected period of heartbeats from our distant partner. #

MyModuleId? MOD_EXPORT_SCN_PRI # module id for this program RingName? WAVE_RING # transport ring to use for input/output HeartBeatInt? 30 # EW internal heartbeat interval (sec)

# Should be >= RcvAliveInt?

LogFile? 1 # If 0, don't write logfile

# # Logos of messages to export to client systems # Installation Module Message Type

GetMsgLogo? INST_MENLO MOD_WILDCARD TYPE_TRACEBUF

# ServerIPAdr and ServerPort? specify the local IP address and port number # on which this module will be ready to accept a client connection. #

ServerIPAdr aaa.bbb.cc.ddd # Export messages via this ethernet card ServerPort? 16005 # Well-known port number to export msgs on

MaxMsgSize? 900 # maximum size (bytes) for input/output msgs RingSize? 100 # max# messages in outgoing circular msg buffer

SendAliveText? "alive" # string sent to client as heartbeat SendAliveInt? 30 # seconds between alive msgs sent to client.

# 0=> no heartbeat

RcvAliveText? "alive" # text of client's heartbeat (we get this) RcvAliveInt? 150 # seconds between client's heartbeats to us.

# 0 => no heartbeat

# # Socket commands #

SocketTimeout? 200000 # Timeout length in milliseconds for socket calls

# this should be atleast the value of the RcvAliveInt?

SocketDebug? 0 # if 1, socket_ew debug statements are logged

# if 0, socket_ew debug is turned off

# # List of station/channel/network codes to export # # Export_scn_pri adds an option parameter for the priority as the last element # of the Send_scn command. Valid values are 1 (highest) through 9 (lowest). # If any other value is found, or if the value is missing, then the default (9) # will be used. # Send_scn JMP VFZ NC 1 # export waveforms from this station at priority 1 (highest) Send_scn JMP VFN NC 1 # export waveforms from this station at priority 1 Send_scn JMP VFE NC 5 # export waveforms from this station at priority 5 Send_scn JMP ASZ NC 3 # export waveforms from this station at priority 3 Send_scn JMP ASN NC # export waveforms from this station at default priority (9)

Helpful Hints