Commit e8aa1ba
feat(streaming)!: remove flush_mode; always coalesce outbound writes on the ping heartbeat (#1195)
* feat(streaming)!: remove flush_mode; always coalesce outbound writes on the ping heartbeat
flush_mode had no counterpart in the Theta Terminal: the terminal exposes no flush knob and lets the socket coalesce outbound writes, and the "immediate" mode existed only to defeat that coalescing — a client-facing way to flood the upstream with one syscall per frame. It was a server-protection mechanism turned into a footgun on the public configuration surface, so it does not belong on a terminal-parity SDK.
The knob is removed from every binding (Rust StreamingConfig::flush_mode, Python Config.flush_mode, TypeScript Config.flushMode / setFlushMode, C++ set_flush_mode / get_flush_mode, C ABI thetadatadx_config_set_flush_mode / _get_flush_mode), along with the StreamingFlushMode enum, the config-file field, the cross-binding parity rows, and the docs. The I/O loop now hardwires the batched behavior: only the ping heartbeat flushes, so queued subscribe / unsubscribe frames coalesce until the next ping and a subscription burst leaves as fewer, larger packets. Received-data latency is unaffected, exactly as before.
Breaking change to the configuration surface; batching is now unconditional.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* test,docs: drop stale flushMode TS test + sync docs changelog
Remove the leftover thetadatadx-ts __tests__/flush_mode.test.mjs that still asserted the removed cfg.flushMode / setFlushMode surface (npm test globs every __tests__/*.test.mjs), and mirror the CHANGELOG Removed entry into the docs-site changelog so the byte-identical docs-consistency gate passes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* test(parity): drop flush_mode from the setter-property selftest fixture
The .pyi setter-property degrade selftest read the real parity.toml + stub and used flush_mode as its canonical exempt-setter example; with flush_mode gone, remove setFlushMode from PYI_SETTER_PROPERTY_ROWS and the twin table and drop the flush_mode-specific getter assertion so --selftest reflects the real surface.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* docs: regenerate llms.txt after flush_mode removal
generate_docs_site emits docs-site/docs/public/llms.txt from the config surface; refresh it so the generated-docs drift check passes with flush_mode gone.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: preview <noreply@anthropic.com>1 parent 5606880 commit e8aa1ba
34 files changed
Lines changed: 47 additions & 659 deletions
File tree
- docs-site/docs
- articles
- public
- streaming
- scripts/ci
- thetadatadx-cpp
- include
- tests
- thetadatadx-ffi/src
- thetadatadx-py
- python/thetadatadx
- src
- _generated
- tests
- thetadatadx-rs
- build_support_bin/endpoints/sdk_render
- src
- config
- fpss
- io_loop
- thetadatadx-ts
- __tests__
- src
- _generated
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
10 | 14 | | |
11 | 15 | | |
12 | 16 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
41 | 40 | | |
42 | 41 | | |
43 | 42 | | |
| |||
86 | 85 | | |
87 | 86 | | |
88 | 87 | | |
89 | | - | |
| 88 | + | |
90 | 89 | | |
91 | 90 | | |
92 | 91 | | |
| |||
95 | 94 | | |
96 | 95 | | |
97 | 96 | | |
98 | | - | |
| 97 | + | |
99 | 98 | | |
100 | 99 | | |
101 | 100 | | |
| |||
114 | 113 | | |
115 | 114 | | |
116 | 115 | | |
117 | | - | |
118 | 116 | | |
119 | 117 | | |
120 | 118 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
10 | 14 | | |
11 | 15 | | |
12 | 16 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | | - | |
| 97 | + | |
98 | 98 | | |
99 | 99 | | |
100 | 100 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | 49 | | |
64 | 50 | | |
65 | 51 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
671 | 671 | | |
672 | 672 | | |
673 | 673 | | |
674 | | - | |
675 | | - | |
676 | | - | |
677 | | - | |
678 | | - | |
679 | | - | |
680 | | - | |
681 | | - | |
682 | | - | |
683 | | - | |
684 | | - | |
685 | 674 | | |
686 | 675 | | |
687 | 676 | | |
| |||
1903 | 1892 | | |
1904 | 1893 | | |
1905 | 1894 | | |
1906 | | - | |
1907 | | - | |
1908 | | - | |
1909 | | - | |
1910 | | - | |
1911 | | - | |
1912 | | - | |
1913 | | - | |
1914 | | - | |
1915 | | - | |
1916 | | - | |
1917 | | - | |
1918 | | - | |
1919 | | - | |
1920 | | - | |
1921 | | - | |
1922 | | - | |
1923 | | - | |
1924 | | - | |
1925 | | - | |
1926 | | - | |
1927 | | - | |
1928 | | - | |
1929 | | - | |
1930 | | - | |
1931 | | - | |
1932 | | - | |
1933 | | - | |
1934 | 1895 | | |
1935 | 1896 | | |
1936 | 1897 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2444 | 2444 | | |
2445 | 2445 | | |
2446 | 2446 | | |
2447 | | - | |
2448 | 2447 | | |
2449 | 2448 | | |
2450 | 2449 | | |
| |||
12820 | 12819 | | |
12821 | 12820 | | |
12822 | 12821 | | |
12823 | | - | |
| 12822 | + | |
12824 | 12823 | | |
12825 | 12824 | | |
12826 | 12825 | | |
| |||
12833 | 12832 | | |
12834 | 12833 | | |
12835 | 12834 | | |
12836 | | - | |
12837 | | - | |
12838 | | - | |
12839 | | - | |
12840 | 12835 | | |
12841 | 12836 | | |
12842 | 12837 | | |
12843 | 12838 | | |
12844 | 12839 | | |
12845 | 12840 | | |
12846 | 12841 | | |
12847 | | - | |
12848 | 12842 | | |
12849 | 12843 | | |
12850 | 12844 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1925 | 1925 | | |
1926 | 1926 | | |
1927 | 1927 | | |
1928 | | - | |
1929 | | - | |
1930 | | - | |
1931 | | - | |
1932 | | - | |
1933 | | - | |
1934 | | - | |
1935 | | - | |
1936 | | - | |
1937 | | - | |
1938 | | - | |
1939 | | - | |
1940 | | - | |
1941 | | - | |
1942 | | - | |
1943 | | - | |
1944 | | - | |
1945 | | - | |
1946 | | - | |
1947 | | - | |
1948 | 1928 | | |
1949 | 1929 | | |
1950 | 1930 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
208 | 208 | | |
209 | 209 | | |
210 | 210 | | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | 211 | | |
216 | 212 | | |
217 | 213 | | |
| |||
0 commit comments