public IHerculesTagsBuilder AddContainer(string key, Action <IHerculesTagsBuilder> value) { writer.WriteWithByteLength(key); writer.Write(TagType.Container); using (var builder = new BinaryCountingTagsBuilder(writer)) value.Invoke(builder); return(this); }
public BinaryEventBuilder(IBinaryWriter binaryWriter, Func <DateTimeOffset> timeProvider, byte protocolVersion) { this.binaryWriter = binaryWriter.EnsureBigEndian(); this.timeProvider = timeProvider; binaryWriter.Write(protocolVersion); timestampPosition = binaryWriter.Position; binaryWriter.Write(0L); binaryWriter.Write(GuidGenerator.GenerateNotCryptoQualityGuid()); tagsBuilder = new BinaryCountingTagsBuilder(binaryWriter); }
public IHerculesTagsBuilder AddVectorOfContainers(string key, IReadOnlyList <Action <IHerculesTagsBuilder> > values) { writer.WriteWithByteLength(key); writer.Write(TagType.Vector); writer.Write(TagType.Container); writer.Write(values.Count); foreach (var action in values) { using (var builder = new BinaryCountingTagsBuilder(writer)) action(builder); } return(this); }