Core: StringsStream adjustment

This commit is contained in:
Mirek Fidler 2025-06-19 23:53:22 +02:00
parent 901fad0a6c
commit e7260b4ed5
4 changed files with 12 additions and 4 deletions

View file

@ -37,6 +37,8 @@ CONSOLE_APP_MAIN
LoadFromStrings(data2, s);
DDUMP(data2.GetCount());
ASSERT(data == data2);
LOG("=============== OK");

View file

@ -75,8 +75,14 @@ StringsStreamIn::StringsStreamIn(const Vector<String>& part)
void StringsStreamIn::ResetBuffer()
{
ptr = buffer = (byte *)part[i].begin();
rdlim = (byte *)part[i].end();
if(i < part.GetCount()) {
ptr = buffer = (byte *)part[i].begin();
rdlim = (byte *)part[i].end();
}
else {
static byte nothing;
ptr = buffer = rdlim = &nothing;
}
}
int StringsStreamIn::_Term()

View file

@ -396,7 +396,7 @@ public:
Vector<String> PickResult();
StringsStreamOut(int part_size = 4096*1024);
StringsStreamOut(int part_size = 1024*1024 - 128); // - 128 - leave some space for header in huge block
};
class StringsStreamIn : public Stream {

View file

@ -24,7 +24,7 @@ chunks which is potentially faster for repeated operation.]&]
[ {{10000F(128)G(128)@1 [s0;%% [* Public Method List]]}}&]
[s3; &]
[s5;:Upp`:`:StringsStreamOut`:`:StringsStreamOut`(int`): [* StringsStreamOut]([@(0.0.255) i
nt] [*@3 part`_size] [@(0.0.255) `=] [@3 4096] [@(0.0.255) `*][@3 1024])&]
nt] [*@3 part`_size] [@(0.0.255) `=] [@N 1024`*1024 `- 256])&]
[s2;%% Constructor `- [*@3 pa][%-*@3 rt`_size] is the size of data chunk.&]
[s3; &]
[s4; &]