NAME
owlttb - one-way light time transmission delay simulator
SYNOPSIS
owlttb own_uplink_port# own_downlink_port# dest_uplink_IP_address dest_uplink_port# dest_downlink_IP_address dest_downlink_port# owlt_sec. [-v]
DESCRIPTION
owlttb delays delivery of data between an NTTI and a NetAcquire box (or two, one for uplink and one for downlink) by a specified length of time, simulating the signal propagation delay imposed by distance between the nodes.
Its operation is configured by the command-line parameters, except that the delay interval itself may be changed while the program is running. owlttb offers a command prompt (:), and when a new value of one-way light time is entered at this prompt the new delay interval takes effect immediately.
- own_uplink_port# identifies the port on owlttb accepts the NTTI's TCP connection for uplink traffic (i.e., data destined for the NetAcquire box).
- own_downlink_port# identifies the port on owlttb accepts the NTTI's TCP connection for downlink traffic (i.e., data issued by the NetAcquire box).
- dest_uplink_IP_address is the IP address (a dotted string) identifying the NetAcquire box to which owlttb will transmit uplink traffic.
- dest_uplink_port# identifies the TCP port to which owlttb will connect in order to transmit uplink traffic to NetAcquire.
- dest_downlink_IP_address is the IP address (a dotted string) identifying the NetAcquire box from which owlttb will receive downlink traffic.
- dest_downlink_port# identifies the TCP port to which owlttb will connect in order to receive downlink traffic from NetAcquire.
- owlt specifies the number of seconds to wait before forwarding each received segment of TCP traffic.
The optional -v ("verbose") parameter causes owlttb to print a message whenever it receives, sends, or discards (due to absence of a connected downlink client) a segment of TCP traffic.
owlttb is designed to run indefinitely. To terminate the program, just use control-C to kill it or enter "q" at the prompt.
EXIT STATUS
- "0" Nominal termination.
- "1" Termination due to an error condition, as noted in printed messages.
EXAMPLES
Here is a sample owlttb command:
- owlttb 2901 2902 137.7.8.19 10001 137.7.8.19 10002 75
This command indicates that owlttb will accept an uplink traffic connection on port 2901, forwarding the received uplink traffic to port 10001 on the NetAcquire box at 137.7.8.19, and it will accept a downlink traffic connection on port 2902, delivering over that connection all downlink traffic that it receives from connecting to port 10002 on the NetAcquire box at 137.7.8.19. 75 seconds of delay (simulating a distance of 75 light seconds) will be imposed on this transmission activity.
FILES
Not applicable.
ENVIRONMENT
No environment variables apply.
DIAGNOSTICS
The following diagnostics may be printed to stdout:
-
owlttb can't spawn uplink thread
The program terminates.
-
owlttb can't spawn uplink sender thread
The program terminates.
-
owlttb can't spawn downlink thread
The program terminates.
-
owlttb can't spawn downlink receiver thread
The program terminates.
-
owlttb can't spawn downlink sender thread
The program terminates.
-
owlttb fgets failed
The program terminates.
-
owlttb out of memory.
The program terminates.
-
owlttb lost uplink client.
This is an informational message. The NTTI may reconnect at any time.
-
owlttb lost downlink client
This is an informational message. The NTTI may reconnect at any time.
-
owlttb can't open TCP socket to NetAcquire
The program terminates.
-
owlttb can't connect TCP socket to NetAcquire
The program terminates.
-
owlttb write() error on socket
The program terminates if it was writing to NetAcquire; otherwise it simply recognizes that the client NTTI has disconnected.
-
owlttb read() error on socket
The program terminates.
-
owlttb can't open uplink dialup socket
The program terminates.
-
owlttb can't initialize uplink dialup socket
The program terminates.
-
owlttb can't open downlink dialup socket
The program terminates.
-
owlttb can't initialize downlink dialup socket
The program terminates.
-
owlttb accept() failed
The program terminates.
BUGS
Report bugs to <https://github.com/nasa-jpl/ION-DTN/issues>