We're further embracing SOCK_SEQPACKET for progress reporting.
There's numerous cleanups for the oneshot case, but that's still
using worker processes. Worker-less oneshot seems pretty-broken
atm, but 16/16 will let us work on it more easily.
Eric Wong (16):
lei: switch to use SEQPACKET socketpair instead of pipe
lei_query: default to 10000 messages as documented
lei q: emit progress and counting via PktOp
lei q: support --only, --include and --exclude
lei: complete: do not complete non-arg options w/ help text
lei: q: shell completion for --(include|exclude|only)
lei_xsearch: truncate curl stderr after reading it
lib: explicitly distinguish oneshot use
lei q: do not leave temporary files after oneshot exit
cmd_ipc4: fix comments and formatting
pktop: fix potential undefined var
lei_xsearch: ensure curl.err and tail(1) cleanup happens
doc: lei-q: note "-a" and link to Xapian QueryParser
lei_overview: avoid unnecessary {l2m} delete
lei q: tidy up progress reporting
lei q: support --jobs [SEARCHERS],[WRITERS]
Documentation/lei-q.pod | 5 +-
MANIFEST | 2 +-
lib/PublicInbox/CmdIPC4.pm | 7 ++-
lib/PublicInbox/IPC.pm | 42 +++++++++++++----
lib/PublicInbox/LEI.pm | 60 +++++++++++++++---------
lib/PublicInbox/LeiExternal.pm | 12 ++---
lib/PublicInbox/LeiOverview.pm | 15 +++---
lib/PublicInbox/LeiQuery.pm | 77 ++++++++++++++++++++++++-------
lib/PublicInbox/LeiXSearch.pm | 83 ++++++++++++++++++++++++----------
lib/PublicInbox/OpPipe.pm | 41 -----------------
lib/PublicInbox/PktOp.pm | 69 ++++++++++++++++++++++++++++
lib/PublicInbox/V2Writable.pm | 22 +--------
t/lei.t | 14 ++++--
t/lei_external.t | 2 +-
xt/lei-sigpipe.t | 29 ++++++++++--
15 files changed, 318 insertions(+), 162 deletions(-)
delete mode 100644 lib/PublicInbox/OpPipe.pm
create mode 100644 lib/PublicInbox/PktOp.pm
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/