You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This PR allows to set ASCII encoded char array fields with any class implementing CharSequence, not only with Strings. It helps writing GC-free code without handling byte arrays. One for example can pass StringBuilder as an argument which can be shared between invocations.
@zyulyaev is there any reason why you did not include something similar on the Decoder side that takes an Appendable such as StringBuilder
eg
public void getMyValue(Appendable val)
@juddgaddie not really, I just added only what I needed.
Regarding Appendable to Decoder, I would rather added a method that returns a wrapper object implementing CharSequence interface, similar to how currently composite decoders work.
eg
private final MyValueWrapper myValueWrapper = new MyValueWrapper();
public CharSequence myValueWrapper() {
return myValueWrapper;
}
private class MyValueWrapper implements CharSequence {
public int length() {
int len;
for (len = 0; charAt(len) != 0; len++);
return len;
}
public char charAt(int index) {
final int pos = this.offset + <offset> + index;
return (char) buffer.getByte(pos);
}
}
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR allows to set ASCII encoded char array fields with any class implementing CharSequence, not only with Strings. It helps writing GC-free code without handling byte arrays. One for example can pass StringBuilder as an argument which can be shared between invocations.