OWLTTB(1)

πŸ“¦ version 3.2.1, in ubuntu jammy

πŸ›°οΈ OWLTTB ✨

okay bestie, buckle UP β€” this is owlttb(1), a lil executable from the ICI executables crew, and it is genuinely the most space-girlie thing in this whole manpage collection. it's a one-way light time transmission delay simulator πŸ’«


🌸 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]

yes she takes seven positional args, no she is not sorry πŸ’…


πŸ’– DESCRIPTION πŸ’–

so basically, owlttb delays delivery of data between an NTTI and a NetAcquire box (or two boxes β€” one for uplink, one for downlink) by a specified length of time. it's literally simulating the signal propagation delay that distance imposes between the nodes. space is big, bestie, and the vibes have to travel 🌌

its whole 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 you enter a new value of one-way light time at this prompt, the new delay interval takes effect immediately. no restart, no reload, just vibes shifting in real time ⏱️✨

here's what all the args mean, one by one:

  • own_uplink_port# β€” the port on owlttb that accepts the NTTI's TCP connection for uplink traffic (i.e., data destined for the NetAcquire box).
  • own_downlink_port# β€” the port on owlttb that accepts the NTTI's TCP connection for downlink traffic (i.e., data issued by the NetAcquire box).
  • dest_uplink_IP_address β€” the IP address (a dotted string) identifying the NetAcquire box to which owlttb will transmit uplink traffic.
  • dest_uplink_port# β€” the TCP port to which owlttb will connect in order to transmit uplink traffic to NetAcquire.
  • dest_downlink_IP_address β€” the IP address (a dotted string) identifying the NetAcquire box from which owlttb will receive downlink traffic.
  • dest_downlink_port# β€” the TCP port to which owlttb will connect in order to receive downlink traffic from NetAcquire.
  • owlt β€” the number of seconds to wait before forwarding each received segment of TCP traffic.

and the optional -v ("verbose") parameter? that makes owlttb print a message whenever it receives, sends, or discards (due to absence of a connected downlink client) a segment of TCP traffic. she's chatty and we love her for it πŸ—£οΈ

πŸ’€ the way that owlttb is designed to run indefinitely. to terminate the program, just use control-C to kill it, or enter "q" at the prompt. that's it. that's the exit strategy. periodt.

🌈 EXIT STATUS 🌈

  • "0" β€” Nominal termination. slay, she did the thing 🫢
  • "1" β€” Termination due to an error condition, as noted in printed messages. not slay, read the messages 😭

⭐ EXAMPLES ⭐

here's a sample owlttb command, look at her go:

owlttb 2901 2902 137.7.8.19 10001 137.7.8.19 10002 75

so 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. 🌐

and the 75? that's 75 seconds of delay β€” simulating a distance of 75 light seconds β€” imposed on this transmission activity. 75 light seconds is SO far, the way that light is just out here commuting 😭


🧚 FILES 🧚

Not applicable. she doesn't touch your filesystem, she's low maintenance like that πŸ’…


πŸ¦‹ ENVIRONMENT πŸ¦‹

No environment variables apply. nothing to export, nothing to source, just pure unadulterated args ✨


πŸ”₯ 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. no stress, she'll be back 🫢
  • owlttb lost downlink client β€” This is an informational message. The NTTI may reconnect at any time. same energy 🫢
  • 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. conditional queen πŸ‘‘
  • 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 <ion-bugs@korgano.eecs.ohiou.edu>. yes bestie, actually email them, they wanna know 🫢


and that's the whole page!! 🌸 this lil icon was documented in the perl v5.24.1 era, dated 2016-07-07, which is basically ancient history in group-chat years, but she still hits different. mwah πŸ’‹βœ¨

πŸ“¦ where this page comes from