STCPCLI(1)

πŸ“¦ version 3.2.1, in ubuntu jammy

πŸ’– STCPCLI πŸ’–

okay bestie, welcome to the stcpcli page from the BP executables manual β€” yes it's manual section 1, and yes we're gonna make it make sense 🫢


✨ NAME ✨

stcpcli β€” the DTN simple TCP convergence layer input task πŸ¦‹


🌸 SYNOPSIS 🌸

stcpcli local_hostname[:local_port_nbr]

πŸ’… DESCRIPTION πŸ’…

so stcpcli is a background "daemon" task, and it's literally built different: it's 1 + N threads. one thread handles TCP connections coming in from remote stcpclo tasks and spawns sockets for receiving data from those tasks, plus one input thread for every socket it spawns, and each of those input threads handles the data reception on its own socket. multitasking icon behavior πŸ‘‘

the connection thread keeps it simple: it accepts connections on a TCP socket bound to local_hostname and local_port_nbr, and spawns reception threads. and if you leave local_port_nbr out? no worries, the default is 4556 πŸ’–

every reception thread receives bundles over its associated connected socket. and here's the detail that matters: each bundle received on the connection is preceded by a 32-bit unsigned integer in network byte order that tells you the length of the bundle. those received bundles get passed to the bundle protocol agent on the local ION node. slay ✨

stcpcli gets spawned automatically by bpadmin when it sees the 's' (START) command that starts operation of the Bundle Protocol. but here's the thing β€” the text of the command used to spawn the task has to be provided at the time the "stcp" convergence layer protocol is added to the BP database. iykyk. the convergence layer input task gets terminated by bpadmin when it sees an 'x' (STOP) command. also, stcpcli can be spawned and terminated in response to START and STOP commands that pertain specifically to the STCP convergence layer protocol. flexible fr fr 🧚


πŸ”₯ EXIT STATUS πŸ”₯

  • "0" β€” stcpcli terminated normally, for reasons noted in the ion.log file. if this termination was not commanded, bestie you need to investigate and solve the problem identified in the log file, then use bpadmin to restart stcpcli 😭
  • "1" β€” stcpcli terminated abnormally, for reasons noted in the ion.log file. investigate and solve the problem identified in the log file, then use bpadmin to restart stcpcli. periodt πŸ’€

πŸŽ€ FILES πŸŽ€

no configuration files are needed. literally none. clean girl aesthetic 🌸


πŸ¦‹ ENVIRONMENT πŸ¦‹

no environment variables apply. nothing. zero. nada ✨


πŸ’œ DIAGNOSTICS πŸ’œ

these diagnostics may be issued to the ion.log log file:

  • stcpcli can't attach to BP. β€” bpadmin has not yet initialized Bundle Protocol operations. πŸ™ˆ
  • No such stcp duct. β€” no STCP induct matching local_hostname and local_port_nbr has been added to the BP database. use bpadmin to stop the STCP convergence-layer protocol, add the induct, and then restart the STCP protocol. the way that you gotta do it in that order, okay?
  • CLI task is already started for this duct. β€” redundant initiation of stcpcli. she's already here bestie πŸ’…
  • Can't get IP address for host β€” operating system error. check errtext, correct the problem, and restart STCP. πŸ”§
  • Can't open TCP socket β€” operating system error. check errtext, correct the problem, and restart STCP. πŸ”§
  • Can't initialize socket β€” operating system error. check errtext, correct the problem, and restart STCP. πŸ”§
  • stcpcli can't create access thread β€” operating system error. check errtext, correct the problem, and restart STCP. πŸ”§

😭 BUGS 😭

report bugs to <ion-bugs@korgano.eecs.ohiou.edu> β€” please be nice, they're doing their best 🫢


⭐ SEE ALSO ⭐

bpadmin(1), bprc(5), stcpclo(1)


ok that's the whole page bestie, go forth and converge those layers πŸ’–βœ¨

and for the record, this lil doc drop is from perl v5.24.1, dated 2016-07-07 β€” she's vintage, she's iconic, she ate πŸ‘‘πŸŒˆ

πŸ“¦ where this page comes from