On Tue, 2021-03-16 at 13:28 +0100, Julian Reschke wrote:
> Am 15.03.2021 um 19:50 schrieb Oleg Kalnichevski:
> > ...
> > Hi Julian
> > 
> > Pretty much all message parsing routines in core [1] and client are
> > based on Tokenizer [2]. Those parsers are forward-only and produce
> > near
> > zero (or fairly little) intermediate garbage.
> > 
> > Id would be nice if parsing code in Structured Field Values re-used
> > some of the message element parsers or were based on the Tokenizer
> > if
> > possible.
> > 
> > Oleg
> > ...
> 
> Re-using existing message element parsers would not work; structured
> fields is a new format and requires draconic error handling.
> 
> Also, the parser internally is based on java.nio.CharBuffer, using it
> in
> a forward-only way (if I understand the term correctly), and only
> allocates objects in order to build the resulting object model (which
> can be quite complex in structured-fields).
> 
> It's probably *possible* to rewrite all of this in order to re-use
> some
> existing code, but then it's somewhat unclear how this would make it
> in
> any way better.
> 
> Best regards, Julian
> 

It may not necessarily make it any better, but it would most certainly
make new code more consistent with the rest of the code base, so that
poor suckers like myself who maintain the library on a day by day basis
might have a bit easier life maintaining your contribution.

This also makes it somewhat unclear why one would want to contribute
new code without making an effort of fitting it into the existing code
base.

This is a not a deal breaker, just a request for your consideration.

We have a history of various people dropping a large chunks of code on
us and walking away, leaving us with a thankless task of maintaining
their original code for years to come. So far, if the past history is
of any indication, all those contributions inevitably started to rot
unless they fit well with the rest of the code base. 

Oleg 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to