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

Method onReceive

projects/JavaScript/proto/protoex.js:6881–6934  ·  view source on GitHub ↗

* protoex receive message handler * @this {!Proxy} * @param {!number} type Message type * @param {!Uint8Array} buffer Buffer to send * @param {!number} offset Buffer offset * @param {!number} size Buffer size * @returns {!boolean} Success flag

(type, buffer, offset, size)

Source from the content-addressed store, hash-verified

6879 * @returns {!boolean} Success flag
6880 */
6881 onReceive (type, buffer, offset, size) {
6882 switch (type) {
6883 case OrderMessageModel.fbeType: {
6884 // Attach the FBE stream to the proxy model
6885 this._OrderMessageModel.attachBuffer(buffer, offset)
6886 console.assert(this._OrderMessageModel.verify(), 'protoex.OrderMessage validation failed!')
6887
6888 let fbeBegin = this._OrderMessageModel.model.getBegin()
6889 if (fbeBegin === 0) {
6890 return false
6891 }
6892 // Call proxy handler
6893 this.onProxy_OrderMessage(this._OrderMessageModel, type, buffer, offset, size)
6894 this._OrderMessageModel.model.getEnd(fbeBegin)
6895 return true
6896 }
6897 case BalanceMessageModel.fbeType: {
6898 // Attach the FBE stream to the proxy model
6899 this._BalanceMessageModel.attachBuffer(buffer, offset)
6900 console.assert(this._BalanceMessageModel.verify(), 'protoex.BalanceMessage validation failed!')
6901
6902 let fbeBegin = this._BalanceMessageModel.model.getBegin()
6903 if (fbeBegin === 0) {
6904 return false
6905 }
6906 // Call proxy handler
6907 this.onProxy_BalanceMessage(this._BalanceMessageModel, type, buffer, offset, size)
6908 this._BalanceMessageModel.model.getEnd(fbeBegin)
6909 return true
6910 }
6911 case AccountMessageModel.fbeType: {
6912 // Attach the FBE stream to the proxy model
6913 this._AccountMessageModel.attachBuffer(buffer, offset)
6914 console.assert(this._AccountMessageModel.verify(), 'protoex.AccountMessage validation failed!')
6915
6916 let fbeBegin = this._AccountMessageModel.model.getBegin()
6917 if (fbeBegin === 0) {
6918 return false
6919 }
6920 // Call proxy handler
6921 this.onProxy_AccountMessage(this._AccountMessageModel, type, buffer, offset, size)
6922 this._AccountMessageModel.model.getEnd(fbeBegin)
6923 return true
6924 }
6925 default: break
6926 }
6927
6928 // noinspection RedundantIfStatementJS
6929 if ((this.protoProxy != null) && this.protoProxy.onReceive(type, buffer, offset, size)) {
6930 return true
6931 }
6932
6933 return false
6934 }
6935}
6936
6937exports.Proxy = Proxy

Callers 4

onReceiveMethod · 0.45
onReceiveMethod · 0.45
onReceiveMethod · 0.45
onReceiveMethod · 0.45

Calls 7

onProxy_OrderMessageMethod · 0.95
attachBufferMethod · 0.45
verifyMethod · 0.45
getBeginMethod · 0.45
getEndMethod · 0.45

Tested by

no test coverage detected