public static Payload CreateStringLength(int length) { string stringValue = new string('a', length); IJsonWriter jsonTextWriter = JsonWriter.Create(JsonSerializationFormat.Text); IJsonWriter jsonBinaryWriter = JsonWriter.Create(JsonSerializationFormat.Binary); jsonTextWriter.WriteArrayStart(); jsonBinaryWriter.WriteArrayStart(); for (int i = 0; i < 100000; i++) { jsonTextWriter.WriteStringValue(stringValue); } jsonTextWriter.WriteArrayEnd(); jsonBinaryWriter.WriteArrayEnd(); ReadOnlyMemory<byte> text = jsonTextWriter.GetResult(); ReadOnlyMemory<byte> binary = jsonTextWriter.GetResult(); return new Payload( text: text, binary: binary, utf8StringToken: Utf8Memory.UnsafeCreateNoValidation(Encoding.UTF8.GetBytes(stringValue)), utf16StringToken: stringValue); }
public IStateProperty GetProperty(Utf8Memory name) { if (TryGetProperty(name, out IStateProperty? property)) { return(property); } throw new KeyNotFoundException(); }
private Payload( ReadOnlyMemory<byte> text, ReadOnlyMemory<byte> binary, Utf8Memory utf8StringToken, string utf16StringToken) { this.Text = text; this.Binary = binary; this.Utf8StringToken = utf8StringToken; this.Utf16StringToken = utf16StringToken; }
public bool TryGetProperty(Utf8Memory name, [MaybeNullWhen(false)] out IStateProperty property) { foreach (IStateProperty prop in _properties) { if (prop.Name == name) { property = prop; return(true); } } property = null; return(false); }
public static StatePropertyValue <T> GetPropertyValue <T>(this IStateProperty <T> property, Utf8Memory name) { return(property.GetPropertyValue(property.GetIndex(name))); }
public override bool TryGetBufferedStringValue(IJsonNavigatorNode stringNode, out Utf8Memory bufferedStringValue) { bufferedStringValue = default; return(false); }
public override bool TryGetBufferedStringValue(out Utf8Memory bufferedUtf8StringValue) { bufferedUtf8StringValue = default; return(false); }
public override bool TryGetBufferedValue(out Utf8Memory bufferedValue) { return(this.jsonNavigator.TryGetBufferedStringValue(this.jsonNavigatorNode, out bufferedValue)); }
public override bool TryGetBufferedValue(out Utf8Memory bufferedValue) { // Eager string only has the materialized value, so this method will always return false. bufferedValue = default; return(false); }
public abstract bool TryGetBufferedValue(out Utf8Memory bufferedUtf8Value);
public abstract int GetIndex(Utf8Memory value);
public int GetIndex(Utf8Memory value) { return(Property.GetIndex(value)); }
public override int GetIndex(Utf8Memory value) { _ = Utf8Parser.TryParse(value.Span, out bool rawValue, out _); return(GetIndex(rawValue)); }
public BlockDescription this[Utf8Memory identifier] => _blockLookup[Utf8Identifier.CreateUnsafe(identifier)];
public NbtElement this[Utf8Memory utf8Name] => GetCompoundElement(utf8Name);