Lawo.EmberPlusSharp.Ember.EmberWriter.WriteIdentifiersAndLengths C# (CSharp) Method

WriteIdentifiersAndLengths() private method

private WriteIdentifiersAndLengths ( EmberId outer, EmberId inner, int innerLength ) : void
outer EmberId
inner EmberId
innerLength int
return void
        private void WriteIdentifiersAndLengths(EmberId outer, EmberId inner, int? innerLength)
        {
            // The outer length is the inner length + the length of the inner length field + the length of the inner
            // token (for definite lengths the inner token is always universal and therefore one byte).
            int innerShift;
            var innerLengthLength = GetLengthLength(innerLength, out innerShift);
            var outerLength = innerLength + innerLengthLength + 1;
            int outerShift;
            var outerLengthLength = GetLengthLength(outerLength, out outerShift);
            WriteIdentifier(this.writeBuffer, outer);
            WriteLength(this.writeBuffer, outerLength, outerShift, outerLengthLength);
            WriteIdentifier(this.writeBuffer, inner);
            WriteLength(this.writeBuffer, innerLength, innerShift, innerLengthLength);
        }
    }