2026/07/17
< 2026
|
Friday, July 17, 2026 (#198)
|
|
References |
Main Work
Ferreteria FileSys stuff in order to support sftp in FTM
Continuing from yesterday's restructuring-thots, I note that both $OHost and $OCred can be NULL -- which means we could just not set them, and the caller could detect that and not use them.
Possibly the Entry API could provide methods for building spec-strings in the formats that seems to be commonly used, reducing the amount of redundant string-building code/logic needed.
If that's going to be the solution, though, then I think that means we'll need a Server class for local files...? ...which feels like something that should already have been addressed by the Venue clade-family...
Some structural notes:
Venueonly knows the protocol (currently: local or SFTP), not the file's identity. Filespec must be provided for any file-operations.Identknows the identity.Entryknows where the target filesystem is ($OHost: address/domain + port) and how to gain access ($OCred: any necessary credentials).- A
Streamis not necessarily a file or necessarily remote; it can be one (local file) or the other (remote process), both (remote file), or neither (local process). Servermanages a connection to a system.- This seems to be basically just an
Entry. Maybe they should be merged? Or shouldEntrydo more of the lifting, and have podlings?- Note that
USpecis podling ofEntry.
- Note that
Server's only podling-class isSSH2, which is a wrapper (can use eitherNativeorSecLibas its Core for operations).- I think it would make sense to add
Localas another podling-class. - Note the
LocalandRemotefolder-classes in Futilities. These are part of the system which does sftp entirely by mounting remote folders withsshfs, which should probably be folded into Ferreteria since it does work, even if it's not going to be used much. (It might still be useful as, say, part of a Network Neighborhood workalike service.) - ...and of course this would be parallel to the
Localand SSH2Venue-podlings. Should it even be separate?- Probably yes, because this is at the level of SSH2 (not SFTP): it can run processes as well as access files. So, tentatively,
Serveris for processes andVenueis for filesystem. But wait! It turns out thatThis was a differentServeris a podling ofEntry(although its sibling,Client, is not).Server, it turns out:Sys\Data\Engine\endpt\ServerEntryhas no other podlings.There seem to be several points in favor of mergingServerupintoEntry.
- Probably yes, because this is at the level of SSH2 (not SFTP): it can run processes as well as access files. So, tentatively,
- This seems to be basically just an