On Wed, Oct 10, 2018 at 01:09:17PM +0200, Neels Hofmeyr wrote: > when a telnet vty closes, append all history to > $history_path/$program_name.history > ok, simple enough. > > Yet it adds potentially large I/O to the server process, which would block > until the history is written. That might be undesirable...
you cannot do a blocking write. The "history save procedure" would not be different and should be written via non-blocking file writes using the select() loop abstraction. > Could also flush the history to file every time it reaches a given size to > make > sure of light I/O load. I don't expect the history of a human user at the VTY session every to reach a size where one would have to worry about that. We're talking about kilobytes here. > I sometimes invoke the vty with 'watch', or otherwise scripted, to keep > showing > the lchan summary, for example. That would produce a history entry for every > single invocation, cause disk I/O and spam the history file. Do we need to > enable history explicitly in each vty session? Or a a "no history" command per > vty-session? I would say explicit "no history" > A client-side impl is much simpler from that angle. It just keeps so much > cruft > out of the server process, and "all we need" is a readline() that knows vty > special characters. ACK. And we already have a [special] telnet client for nanoBTSs around on git.osmocom.org in http://git.osmocom.org/libtelnet/ I would currently argue more in favor of a client based solution -- - Harald Welte <[email protected]> http://laforge.gnumonks.org/ ============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6)
