Growable strings and string lists for the fleet packages, with Rust's split semantics
$ sexc add @ajax/mesh-mt- total 3
- drwxr-xr-x-../
- drwxr-xr-x-Oct 27 04:08v/# 1 version
- drwxr-xr-x-Oct 27 04:08files/# the files of 0.1.0
- latest
- 0.1.0, published Oct 27 04:08 by ajax
- owners
- ajax
- license
- MIT
- dependencies
- @ajax/mesh-check ^0.1.0
- dependents
- @ajax/mesh-cluster-conf, @ajax/mesh-fleet-core, @ajax/mesh-fleet-doc, @ajax/mesh-fleet-edit, @ajax/mesh-fleet-groups, @ajax/mesh-fleet-persist, @ajax/mesh-fleet-plan, @ajax/mesh-fleet-store, @ajax/mesh-member-list, @ajax/mesh-peer-codec, @ajax/mesh-peer-link, @ajax/mesh-peer-relay, @ajax/mesh-peer-view, @ajax/mesh-place-compose, @ajax/mesh-place-mode, @ajax/mesh-place-spec, @ajax/mesh-place-wire, @ajax/mesh-placer, @ajax/mesh-reconcile, @ajax/mesh-sched-member, @ajax/mesh-sched-needs, @ajax/mesh-sched-place, @ajax/mesh-sched-report, @ajax/mesh-sched-score, @ajax/mesh-sched-tracker, @ajax/mesh-sched-weights, @ajax/mesh-strmap, @ajax/range-set
- keywords
- mesh alphaos fleet text string
- homepage
- https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/mesh-mt
- repository
- https://github.com/thomasdavis/alpha-c-mesh
1# @ajax/mesh-mt 2 3Growable strings (`mt_buf`), string lists (`mt_strs`), `mt_fmt`, and Rust's splitting 4(`mt_split` = `split(c)`, `mt_words` = `split_whitespace()`, `mt_lines` = `lines()`, 5`mt_split_once`, `mt_trim`) with Rust's exact edge cases (`"".split(',')` is one empty item). 6 7The fleet packages build and parse their text wire formats with these, the way the Rust did with 8`String` and `Vec<String>`. Allocation failure aborts. 9 10## Ported from 11 12The `String` / `Vec<String>` / `str` methods [alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh)'s 13`mesh-host` fleet code (fleet.rs, sched.rs, cluster.rs, peer.rs) uses. 14 15## Tests 16 17`tests/text.c`: splitting edge cases, buffers, lists. 18 19## Licence 20 21MIT. See the repository's LICENSE.