MCPcopy Create free account
hub / github.com/chronoxor/FastBinaryEncoding / setBegin

Method setBegin

projects/JavaScript/proto/enums.js:5203–5222  ·  view source on GitHub ↗

* Set the struct value (begin phase) * @this {!FieldModelEnums} * @returns {!number} Field model begin offset

()

Source from the content-addressed store, hash-verified

5201 * @returns {!number} Field model begin offset
5202 */
5203 setBegin () {
5204 console.assert(((this._buffer.offset + this.fbeOffset + this.fbeSize) <= this._buffer.size), 'Model is broken!')
5205 if ((this._buffer.offset + this.fbeOffset + this.fbeSize) > this._buffer.size) {
5206 return 0
5207 }
5208
5209 let fbeStructSize = this.fbeBody
5210 let fbeStructOffset = this._buffer.allocate(fbeStructSize) - this._buffer.offset
5211 console.assert((fbeStructOffset > 0) && ((this._buffer.offset + fbeStructOffset + fbeStructSize) <= this._buffer.size), 'Model is broken!')
5212 if ((fbeStructOffset <= 0) || ((this._buffer.offset + fbeStructOffset + fbeStructSize) > this._buffer.size)) {
5213 return 0
5214 }
5215
5216 this.writeUInt32(this.fbeOffset, fbeStructOffset)
5217 this.writeUInt32(fbeStructOffset, fbeStructSize)
5218 this.writeUInt32(fbeStructOffset + 4, this.fbeType)
5219
5220 this._buffer.shift(fbeStructOffset)
5221 return fbeStructOffset
5222 }
5223
5224 /**
5225 * Set the struct value (end phase)

Callers 3

setMethod · 0.95
test_create.jsFile · 0.45
create.jsFile · 0.45

Calls 3

allocateMethod · 0.45
writeUInt32Method · 0.45
shiftMethod · 0.45

Tested by

no test coverage detected