diff --git a/server/imserver/mtb/mtb.auto_gen.go b/server/imserver/mtb/mtb.auto_gen.go index 369c849d..1c6db94e 100644 --- a/server/imserver/mtb/mtb.auto_gen.go +++ b/server/imserver/mtb/mtb.auto_gen.go @@ -2,11 +2,18 @@ package mtb type Server struct { listen_port int32 + + _flags1_ uint64 + _flags2_ uint64 } func (this *Server) GetListenPort() int32 { return this.listen_port } -func (this *Server) LoadFromKv(kv map[string]interface{}) { +func (this *Server) HasListenPort() bool { + return (this._flags2_ & (uint64(1) << (64 - 64))) > 0 +} + +func (this *Server) LoadFromKv(map[string]interface{}) { } diff --git a/server/imserver/proto/mt.proto b/server/imserver/proto/mt.proto index 059aec79..91c66d8d 100644 --- a/server/imserver/proto/mt.proto +++ b/server/imserver/proto/mt.proto @@ -4,5 +4,5 @@ option go_package = ".;mt"; message Server { - optional int32 listen_port = 1; + optional int32 listen_port = 64; } diff --git a/third_party/f5 b/third_party/f5 index 07ab6ec2..8263b4de 160000 --- a/third_party/f5 +++ b/third_party/f5 @@ -1 +1 @@ -Subproject commit 07ab6ec2aaeff9115cb3ccdca7a2bc04225dea0f +Subproject commit 8263b4ded97fe73bd62d01a44b2cfd2d58824755 diff --git a/tools/pbtools/app.js b/tools/pbtools/app.js index 9e5ff68e..c6a7fe49 100644 --- a/tools/pbtools/app.js +++ b/tools/pbtools/app.js @@ -1,6 +1,7 @@ const protobuf = require('protobufjs'); const parseArgs = require('minimist'); const fs = require('fs'); +const assert = require('assert'); class PBTools { @@ -181,11 +182,15 @@ func init() { data += `type ${item.name} struct {\n`; item.fieldsArray.forEach ( - (item2, index) => { + (item2, index) => { + assert(item2.id <= 127); data += ` ${item2.name} ` + this.dumpClassField(item, item2, index) + `\n`; } ); - data += '}'; + data += ` + _flags1_ uint64 + _flags2_ uint64 +}`; } ); data += '\n\n'; @@ -198,6 +203,13 @@ func init() { data += `func (this *${item.name}) Get${newName}() ` + this.dumpClassField(item, item2, index) + ` {\n`; data += ` return this.${item2.name}\n`; + data += `}\n\n`; + data += `func (this *${item.name}) Has${newName}() bool {\n`; + if (item2.id < 64) { + data += ` return (this._flags1_ & (uint64(1) << ${item2.id})) > 0\n`; + } else { + data += ` return (this._flags2_ & (uint64(1) << (${item2.id} - 64))) > 0\n`; + } data += `}\n`; } );