mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-09-02 12:21:01 +00:00
Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -89,7 +89,7 @@ public enum CodeTemplatePlaceholder {
|
||||
if (formatLine.contains(codeTemplatePlaceholder.placeholder)) {
|
||||
var placeholder = placeholderMap.get(codeTemplatePlaceholder);
|
||||
if (placeholder == null) {
|
||||
throw new RunException("placeholder:[{}] not exist, and add [{}] to your placeholderMap", placeholder, placeholder);
|
||||
throw new RunException("placeholder:[{}] not exist, and add [{}] to your placeholderMap", codeTemplatePlaceholder, codeTemplatePlaceholder);
|
||||
}
|
||||
formatLine = formatLine.replace(codeTemplatePlaceholder.placeholder, placeholder);
|
||||
}
|
||||
|
||||
+69
-37
@@ -93,7 +93,9 @@ public class CodeGenerateGdScript implements ICodeGenerate {
|
||||
for (var registration : registrations) {
|
||||
var protocol_id = registration.protocolId();
|
||||
var protocol_name = registration.protocolConstructor().getDeclaringClass().getSimpleName();
|
||||
protocol_manager_registrations.append(StringUtils.format("{}: Protocols.{},", protocol_id, protocol_name)).append(LS);
|
||||
|
||||
protocol_manager_registrations.append(StringUtils.format("protocols[{}] = Protocols.{}Registration.new()", protocol_id, protocol_name)).append(LS);
|
||||
protocol_manager_registrations.append(StringUtils.format("protocolClassMap[{}] = Protocols.{}", protocol_id, protocol_name)).append(LS);
|
||||
}
|
||||
var placeholderMap = Map.of(CodeTemplatePlaceholder.protocol_imports, protocol_imports.toString()
|
||||
, CodeTemplatePlaceholder.protocol_manager_registrations, StringUtils.substringBeforeLast(protocol_manager_registrations.toString(), StringUtils.COMMA));
|
||||
@@ -103,28 +105,19 @@ public class CodeGenerateGdScript implements ICodeGenerate {
|
||||
logger.info("Generated GdScript protocol manager file:[{}] is in path:[{}]", protocolManagerFile.getName(), protocolManagerFile.getAbsolutePath());
|
||||
|
||||
|
||||
var protocol_imports_protocols = new StringBuilder();
|
||||
protocol_imports = new StringBuilder();
|
||||
var protocol_class = new StringBuilder();
|
||||
var protocol_registration = new StringBuilder();
|
||||
protocol_imports.append(StringUtils.format("const ByteBuffer = preload(\"res://{}/ByteBuffer.gd\")", protocolOutputRootPath)).append(LS);
|
||||
for (var registration : registrations) {
|
||||
var protocol_id = registration.protocolId();
|
||||
var protocol_name = registration.protocolConstructor().getDeclaringClass().getSimpleName();
|
||||
var protocolTemplate = ClassUtils.getFileFromClassPathToString("gdscript/ProtocolClassTemplate.gd");
|
||||
var formatProtocolTemplate = CodeTemplatePlaceholder.formatTemplate(protocolTemplate, Map.of(
|
||||
CodeTemplatePlaceholder.protocol_id, String.valueOf(protocol_id)
|
||||
, CodeTemplatePlaceholder.protocol_name, protocol_name
|
||||
, CodeTemplatePlaceholder.protocol_note, GenerateProtocolNote.protocol_note(protocol_id, CodeLanguage.GdScript)
|
||||
, CodeTemplatePlaceholder.protocol_field_definition, protocol_field_definition(registration)
|
||||
, CodeTemplatePlaceholder.protocol_write_serialization, protocol_write_serialization(registration)
|
||||
, CodeTemplatePlaceholder.protocol_read_deserialization, protocol_read_deserialization(registration)
|
||||
, CodeTemplatePlaceholder.protocol_json, protocol_json(registration)
|
||||
, CodeTemplatePlaceholder.protocol_to_string, protocol_to_string(registration)
|
||||
));
|
||||
protocol_class.append(formatProtocolTemplate).append(LS);
|
||||
protocol_class.append(protocol_class(registration)).append(LS);
|
||||
protocol_registration.append(protocol_registration(registration)).append(LS);
|
||||
}
|
||||
var protocolTemplate = ClassUtils.getFileFromClassPathToString("gdscript/ProtocolsTemplate.gd");
|
||||
var formatProtocolTemplate = CodeTemplatePlaceholder.formatTemplate(protocolTemplate, Map.of(
|
||||
CodeTemplatePlaceholder.protocol_imports, protocol_imports_protocols.toString()
|
||||
CodeTemplatePlaceholder.protocol_imports, protocol_imports.toString()
|
||||
, CodeTemplatePlaceholder.protocol_class, protocol_class.toString()
|
||||
, CodeTemplatePlaceholder.protocol_registration, protocol_registration.toString()
|
||||
));
|
||||
var outputPath = StringUtils.format("{}/Protocols.gd", protocolOutputPath);
|
||||
var file = new File(outputPath);
|
||||
@@ -145,7 +138,8 @@ public class CodeGenerateGdScript implements ICodeGenerate {
|
||||
var protocol_id = registration.protocolId();
|
||||
var protocol_name = registration.protocolConstructor().getDeclaringClass().getSimpleName();
|
||||
protocol_imports.append(StringUtils.format("const {} = preload(\"res://{}/{}/{}.gd\")", protocol_name, protocolOutputRootPath, GenerateProtocolPath.protocolPathSlash(protocol_id), protocol_name)).append(LS);
|
||||
protocol_manager_registrations.append(StringUtils.format("{}: {},", protocol_id, protocol_name)).append(LS);
|
||||
protocol_manager_registrations.append(StringUtils.format("protocols[{}] = {}.{}Registration.new()", protocol_id, protocol_name, protocol_name)).append(LS);
|
||||
protocol_manager_registrations.append(StringUtils.format("protocolClassMap[{}] = {}", protocol_id, protocol_name)).append(LS);
|
||||
}
|
||||
var placeholderMap = Map.of(CodeTemplatePlaceholder.protocol_imports, protocol_imports.toString()
|
||||
, CodeTemplatePlaceholder.protocol_manager_registrations, StringUtils.substringBeforeLast(protocol_manager_registrations.toString(), StringUtils.COMMA));
|
||||
@@ -162,13 +156,9 @@ public class CodeGenerateGdScript implements ICodeGenerate {
|
||||
var formatProtocolTemplate = CodeTemplatePlaceholder.formatTemplate(protocolTemplate, Map.of(
|
||||
CodeTemplatePlaceholder.protocol_id, String.valueOf(protocol_id)
|
||||
, CodeTemplatePlaceholder.protocol_name, protocol_name
|
||||
, CodeTemplatePlaceholder.protocol_note, GenerateProtocolNote.protocol_note(protocol_id, CodeLanguage.GdScript)
|
||||
, CodeTemplatePlaceholder.protocol_imports, protocol_imports_fold(registration)
|
||||
, CodeTemplatePlaceholder.protocol_field_definition, protocol_field_definition(registration)
|
||||
, CodeTemplatePlaceholder.protocol_write_serialization, protocol_write_serialization(registration)
|
||||
, CodeTemplatePlaceholder.protocol_read_deserialization, protocol_read_deserialization(registration)
|
||||
, CodeTemplatePlaceholder.protocol_json, protocol_json(registration)
|
||||
, CodeTemplatePlaceholder.protocol_to_string, protocol_to_string(registration)
|
||||
, CodeTemplatePlaceholder.protocol_class, protocol_class_default(registration)
|
||||
, CodeTemplatePlaceholder.protocol_registration, protocol_registration(registration)
|
||||
));
|
||||
var outputPath = StringUtils.format("{}/{}/{}.gd", protocolOutputPath, GenerateProtocolPath.protocolPathSlash(protocol_id), protocol_name);
|
||||
var file = new File(outputPath);
|
||||
@@ -186,11 +176,13 @@ public class CodeGenerateGdScript implements ICodeGenerate {
|
||||
var protocolManagerTemplate = ClassUtils.getFileFromClassPathToString("gdscript/ProtocolManagerTemplate.gd");
|
||||
var protocol_imports = new StringBuilder();
|
||||
var protocol_manager_registrations = new StringBuilder();
|
||||
protocol_imports.append(StringUtils.format("const ByteBuffer = preload(\"res://{}/ByteBuffer.gd\")", protocolOutputRootPath)).append(LS);
|
||||
for (var registration : registrations) {
|
||||
var protocol_id = registration.protocolId();
|
||||
var protocol_name = registration.protocolConstructor().getDeclaringClass().getSimpleName();
|
||||
protocol_imports.append(StringUtils.format("const {} = preload(\"res://{}/{}.gd\")", protocol_name, protocolOutputRootPath, protocol_name)).append(LS);
|
||||
protocol_manager_registrations.append(StringUtils.format("{}: {},", protocol_id, protocol_name)).append(LS);
|
||||
protocol_manager_registrations.append(StringUtils.format("protocols[{}] = {}.{}Registration.new()", protocol_id, protocol_name, protocol_name)).append(LS);
|
||||
protocol_manager_registrations.append(StringUtils.format("protocolClassMap[{}] = {}", protocol_id, protocol_name)).append(LS);
|
||||
}
|
||||
var placeholderMap = Map.of(CodeTemplatePlaceholder.protocol_imports, protocol_imports.toString()
|
||||
, CodeTemplatePlaceholder.protocol_manager_registrations, StringUtils.substringBeforeLast(protocol_manager_registrations.toString(), StringUtils.COMMA));
|
||||
@@ -207,13 +199,9 @@ public class CodeGenerateGdScript implements ICodeGenerate {
|
||||
var formatProtocolTemplate = CodeTemplatePlaceholder.formatTemplate(protocolTemplate, Map.of(
|
||||
CodeTemplatePlaceholder.protocol_id, String.valueOf(protocol_id)
|
||||
, CodeTemplatePlaceholder.protocol_name, protocol_name
|
||||
, CodeTemplatePlaceholder.protocol_note, GenerateProtocolNote.protocol_note(protocol_id, CodeLanguage.GdScript)
|
||||
, CodeTemplatePlaceholder.protocol_imports, protocol_imports_default(registration)
|
||||
, CodeTemplatePlaceholder.protocol_field_definition, protocol_field_definition(registration)
|
||||
, CodeTemplatePlaceholder.protocol_write_serialization, protocol_write_serialization(registration)
|
||||
, CodeTemplatePlaceholder.protocol_read_deserialization, protocol_read_deserialization(registration)
|
||||
, CodeTemplatePlaceholder.protocol_json, protocol_json(registration)
|
||||
, CodeTemplatePlaceholder.protocol_to_string, protocol_to_string(registration)
|
||||
, CodeTemplatePlaceholder.protocol_class, protocol_class_default(registration)
|
||||
, CodeTemplatePlaceholder.protocol_registration, protocol_registration(registration)
|
||||
));
|
||||
var outputPath = StringUtils.format("{}/{}.gd", protocolOutputPath, protocol_name);
|
||||
var file = new File(outputPath);
|
||||
@@ -223,19 +211,62 @@ public class CodeGenerateGdScript implements ICodeGenerate {
|
||||
}
|
||||
|
||||
private void createTemplateFile() throws IOException {
|
||||
var byteBufferFile = new File(StringUtils.format("{}/{}", protocolOutputPath, "ByteBuffer.gd"));
|
||||
var byteBufferTemplate = ClassUtils.getFileFromClassPathToString("gdscript/buffer/ByteBuffer.gd");
|
||||
FileUtils.writeStringToFile(byteBufferFile, StringUtils.format(byteBufferTemplate, protocolOutputRootPath), false);
|
||||
var createFile = new File(StringUtils.format("{}/{}", protocolOutputPath, "ByteBuffer.gd"));
|
||||
var fileInputStream = ClassUtils.getFileFromClassPath("gdscript/ByteBuffer.gd");
|
||||
FileUtils.writeInputStreamToFile(createFile, fileInputStream);
|
||||
}
|
||||
|
||||
private String protocol_class(ProtocolRegistration registration) {
|
||||
var protocol_id = registration.protocolId();
|
||||
var protocol_name = registration.protocolConstructor().getDeclaringClass().getSimpleName();
|
||||
var protocolTemplate = ClassUtils.getFileFromClassPathToString("gdscript/ProtocolClassTemplate.gd");
|
||||
var formatProtocolTemplate = CodeTemplatePlaceholder.formatTemplate(protocolTemplate, Map.of(
|
||||
CodeTemplatePlaceholder.protocol_note, GenerateProtocolNote.protocol_note(protocol_id, CodeLanguage.GdScript)
|
||||
, CodeTemplatePlaceholder.protocol_name, protocol_name
|
||||
, CodeTemplatePlaceholder.protocol_id, String.valueOf(protocol_id)
|
||||
, CodeTemplatePlaceholder.protocol_field_definition, protocol_field_definition(registration)
|
||||
, CodeTemplatePlaceholder.protocol_json, protocol_json(registration)
|
||||
, CodeTemplatePlaceholder.protocol_to_string, protocol_to_string(registration)
|
||||
));
|
||||
return formatProtocolTemplate;
|
||||
}
|
||||
|
||||
private String protocol_class_default(ProtocolRegistration registration) {
|
||||
var protocol_id = registration.protocolId();
|
||||
var protocol_name = registration.protocolConstructor().getDeclaringClass().getSimpleName();
|
||||
var protocolTemplate = ClassUtils.getFileFromClassPathToString("gdscript/ProtocolClassDefaultTemplate.gd");
|
||||
var formatProtocolTemplate = CodeTemplatePlaceholder.formatTemplate(protocolTemplate, Map.of(
|
||||
CodeTemplatePlaceholder.protocol_note, GenerateProtocolNote.protocol_note(protocol_id, CodeLanguage.GdScript)
|
||||
, CodeTemplatePlaceholder.protocol_name, protocol_name
|
||||
, CodeTemplatePlaceholder.protocol_id, String.valueOf(protocol_id)
|
||||
, CodeTemplatePlaceholder.protocol_field_definition, protocol_field_definition(registration)
|
||||
, CodeTemplatePlaceholder.protocol_json, protocol_json(registration)
|
||||
, CodeTemplatePlaceholder.protocol_to_string, protocol_to_string(registration)
|
||||
));
|
||||
return formatProtocolTemplate;
|
||||
}
|
||||
|
||||
private String protocol_registration(ProtocolRegistration registration) {
|
||||
var protocol_id = registration.protocolId();
|
||||
var protocol_name = registration.protocolConstructor().getDeclaringClass().getSimpleName();
|
||||
var protocolTemplate = ClassUtils.getFileFromClassPathToString("gdscript/ProtocolRegistrationTemplate.gd");
|
||||
var formatProtocolTemplate = CodeTemplatePlaceholder.formatTemplate(protocolTemplate, Map.of(
|
||||
CodeTemplatePlaceholder.protocol_name, protocol_name
|
||||
, CodeTemplatePlaceholder.protocol_id, String.valueOf(protocol_id)
|
||||
, CodeTemplatePlaceholder.protocol_write_serialization, protocol_write_serialization(registration)
|
||||
, CodeTemplatePlaceholder.protocol_read_deserialization, protocol_read_deserialization(registration)
|
||||
));
|
||||
return formatProtocolTemplate;
|
||||
}
|
||||
|
||||
private String protocol_imports_fold(ProtocolRegistration registration) {
|
||||
var protocolId = registration.getId();
|
||||
var subProtocols = ProtocolAnalysis.getAllSubProtocolIds(protocolId);
|
||||
var importBuilder = new StringBuilder();
|
||||
importBuilder.append(StringUtils.format("const ByteBuffer = preload(\"res://{}/ByteBuffer.gd\")", protocolOutputRootPath)).append(LS);
|
||||
for (var subProtocolId : subProtocols) {
|
||||
var name = EnhanceObjectProtocolSerializer.getProtocolClassSimpleName(subProtocolId);
|
||||
importBuilder.append(StringUtils.format("const {} = preload(\"res://{}/{}/{}.gd\")", name, protocolOutputRootPath, GenerateProtocolPath.protocolPathSlash(protocolId), name)).append(LS);
|
||||
var protocolName = EnhanceObjectProtocolSerializer.getProtocolClassSimpleName(subProtocolId);
|
||||
importBuilder.append(StringUtils.format("const {} = preload(\"res://{}/{}/{}.gd\")", protocolName, protocolOutputRootPath, GenerateProtocolPath.protocolPathSlash(protocolId), protocolName)).append(LS);
|
||||
}
|
||||
return importBuilder.toString();
|
||||
}
|
||||
@@ -244,6 +275,7 @@ public class CodeGenerateGdScript implements ICodeGenerate {
|
||||
var protocolId = registration.getId();
|
||||
var subProtocols = ProtocolAnalysis.getAllSubProtocolIds(protocolId);
|
||||
var importBuilder = new StringBuilder();
|
||||
importBuilder.append(StringUtils.format("const ByteBuffer = preload(\"res://{}/ByteBuffer.gd\")", protocolOutputRootPath)).append(LS);
|
||||
for (var subProtocolId : subProtocols) {
|
||||
var protocolName = EnhanceObjectProtocolSerializer.getProtocolClassSimpleName(subProtocolId);
|
||||
importBuilder.append(StringUtils.format("const {} = preload(\"res://{}/{}.gd\")", protocolName, protocolOutputRootPath, protocolName)).append(LS);
|
||||
@@ -356,7 +388,7 @@ public class CodeGenerateGdScript implements ICodeGenerate {
|
||||
if (field.isAnnotationPresent(Compatible.class)) {
|
||||
gdBuilder.append("if buffer.compatibleRead(beforeReadIndex, length):").append(LS);
|
||||
var compatibleReadObject = gdSerializer(fieldRegistration.serializer()).readObject(gdBuilder, 1, field, fieldRegistration);
|
||||
gdBuilder.append(TAB_ASCII).append(StringUtils.format("packet.{} = {};", field.getName(), compatibleReadObject)).append(LS);
|
||||
gdBuilder.append(TAB_ASCII).append(StringUtils.format("packet.{} = {}", field.getName(), compatibleReadObject)).append(LS);
|
||||
continue;
|
||||
}
|
||||
var readObject = gdSerializer(fieldRegistration.serializer()).readObject(gdBuilder, 0, field, fieldRegistration);
|
||||
|
||||
@@ -216,7 +216,7 @@ public class CodeGenerateGolang implements ICodeGenerate {
|
||||
var fieldRegistrations = registration.getFieldRegistrations();
|
||||
var goBuilder = new StringBuilder();
|
||||
if (registration.isCompatible()) {
|
||||
goBuilder.append("var beforeWriteIndex = buffer.WriteOffset()").append(LS);
|
||||
goBuilder.append("var beforeWriteIndex = buffer.GetWriteOffset()").append(LS);
|
||||
goBuilder.append(StringUtils.format("buffer.WriteInt({})", registration.getPredictionLength())).append(LS);
|
||||
} else {
|
||||
goBuilder.append("buffer.WriteInt(-1)").append(LS);
|
||||
|
||||
@@ -35,7 +35,7 @@ public class LuaBoolSerializer implements ILuaSerializer {
|
||||
@Override
|
||||
public void writeObject(StringBuilder builder, String objectStr, int deep, Field field, IFieldRegistration fieldRegistration) {
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
builder.append(StringUtils.format("buffer:writeBoolean({})", objectStr)).append(LS);
|
||||
builder.append(StringUtils.format("buffer:writeBool({})", objectStr)).append(LS);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -43,7 +43,7 @@ public class LuaBoolSerializer implements ILuaSerializer {
|
||||
String result = "result" + GenerateProtocolFile.localVariableId++;
|
||||
|
||||
GenerateProtocolFile.addTab(builder, deep);
|
||||
builder.append(StringUtils.format("local {} = buffer:readBoolean()", result)).append(LS);
|
||||
builder.append(StringUtils.format("local {} = buffer:readBool()", result)).append(LS);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
+19
-12
@@ -1,4 +1,4 @@
|
||||
const ProtocolManager = preload("res://{}/ProtocolManager.gd")
|
||||
const ProtocolManager = preload("res://zfoogd/ProtocolManager.gd")
|
||||
|
||||
const EMPTY: String = ""
|
||||
|
||||
@@ -39,9 +39,12 @@ func compatibleRead(beforeReadIndex: int, length: int) -> bool:
|
||||
return length != -1 && getReadOffset() < length + beforeReadIndex
|
||||
|
||||
# -------------------------------------------------get/set-------------------------------------------------
|
||||
func getBuffer() -> StreamPeerBuffer:
|
||||
return buffer
|
||||
|
||||
func setWriteOffset(writeIndex: int) -> void:
|
||||
if (writeIndex > buffer.get_size()):
|
||||
var template = "writeIndex[{}] out of bounds exception: readerIndex: {}, writerIndex: {} (expected: 0 <= readerIndex <= writerIndex <= capacity: {})"
|
||||
var template = "writeIndex[{}] out of bounds exception: readOffset: {}, writeOffset: {} (expected: 0 <= readOffset <= writeOffset <= capacity: {})"
|
||||
printerr(template.format([writeIndex, readOffset, writeOffset, buffer.get_size()], "{}"))
|
||||
return
|
||||
writeOffset = writeIndex
|
||||
@@ -52,7 +55,7 @@ func getWriteOffset() -> int:
|
||||
|
||||
func setReadOffset(readIndex: int) -> void:
|
||||
if (readIndex > writeOffset):
|
||||
var template = "readIndex[{}] out of bounds exception: readerIndex: {}, writerIndex: {} (expected: 0 <= readerIndex <= writerIndex <= capacity: {})"
|
||||
var template = "readIndex[{}] out of bounds exception: readOffset: {}, writeOffset: {} (expected: 0 <= readOffset <= writeOffset <= capacity: {})"
|
||||
printerr(template.format([readIndex, readOffset, writeOffset, buffer.size()], "{}"))
|
||||
return
|
||||
readOffset = readIndex
|
||||
@@ -64,15 +67,21 @@ func getReadOffset() -> int:
|
||||
func isReadable() -> bool:
|
||||
return writeOffset > readOffset
|
||||
|
||||
func toBytes() -> PackedByteArray:
|
||||
return buffer.data_array.slice(0, writeOffset)
|
||||
|
||||
func newInstance(protocolId: int):
|
||||
return ProtocolManager.newInstance(protocolId)
|
||||
|
||||
# -------------------------------------------------write/read-------------------------------------------------
|
||||
func writePackedByteArray(value: PackedByteArray):
|
||||
func writeBytes(value: PackedByteArray):
|
||||
var length: int = value.size()
|
||||
buffer.put_partial_data(value)
|
||||
writeOffset += length
|
||||
pass
|
||||
|
||||
func toPackedByteArray() -> PackedByteArray:
|
||||
return buffer.data_array.slice(0, writeOffset)
|
||||
func readBytes(length: int) -> PackedByteArray:
|
||||
return buffer.data_array.slice(0, length)
|
||||
|
||||
func writeBool(value: bool) -> void:
|
||||
var byte: int = 1 if value else 0
|
||||
@@ -303,10 +312,7 @@ func readPacket(protocolId):
|
||||
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
|
||||
return protocolRegistration.read(self)
|
||||
|
||||
func newInstance(protocolId: int):
|
||||
return ProtocolManager.newInstance(protocolId)
|
||||
|
||||
func writeBooleanArray(array):
|
||||
func writeBoolArray(array):
|
||||
if (array == null):
|
||||
writeInt(0)
|
||||
else:
|
||||
@@ -315,7 +321,7 @@ func writeBooleanArray(array):
|
||||
writeBool(element)
|
||||
pass
|
||||
|
||||
func readBooleanArray() -> Array[bool]:
|
||||
func readBoolArray() -> Array[bool]:
|
||||
var array: Array[bool] = []
|
||||
var size = readInt()
|
||||
if (size > 0):
|
||||
@@ -454,7 +460,8 @@ func writePacketArray(array, protocolId):
|
||||
|
||||
func readPacketArray(protocolId):
|
||||
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
|
||||
var array = Array([], typeof(protocolRegistration), StringName("RefCounted"), protocolRegistration)
|
||||
var protocol = ProtocolManager.getProtocolClass(protocolId)
|
||||
var array = Array([], typeof(protocol), StringName("RefCounted"), protocol)
|
||||
var size = readInt()
|
||||
if (size > 0):
|
||||
for index in range(size):
|
||||
@@ -0,0 +1,13 @@
|
||||
${protocol_note}
|
||||
${protocol_field_definition}
|
||||
|
||||
func protocolId() -> int:
|
||||
return ${protocol_id}
|
||||
|
||||
func get_class_name() -> String:
|
||||
return "${protocol_name}"
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "${protocol_json}"
|
||||
var params = [${protocol_to_string}]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
@@ -2,28 +2,13 @@ ${protocol_note}
|
||||
class ${protocol_name}:
|
||||
${protocol_field_definition}
|
||||
|
||||
const PROTOCOL_ID = ${protocol_id}
|
||||
const PROTOCOL_CLASS_NAME = "${protocol_name}"
|
||||
func protocolId() -> int:
|
||||
return ${protocol_id}
|
||||
|
||||
func get_class_name() -> String:
|
||||
return "${protocol_name}"
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "${protocol_json}"
|
||||
var params = [${protocol_to_string}]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
static func write(buffer, packet):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
${protocol_write_serialization}
|
||||
pass
|
||||
|
||||
static func read(buffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(PROTOCOL_ID)
|
||||
${protocol_read_deserialization}
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
return jsonTemplate.format(params, "{}")
|
||||
@@ -1,18 +1,24 @@
|
||||
${protocol_imports}
|
||||
|
||||
const protocols: Dictionary = {
|
||||
static var protocols: Dictionary = {}
|
||||
static var protocolClassMap: Dictionary = {}
|
||||
|
||||
static func initProtocol():
|
||||
${protocol_manager_registrations}
|
||||
}
|
||||
pass
|
||||
|
||||
static func getProtocol(protocolId: int):
|
||||
return protocols[protocolId]
|
||||
|
||||
static func getProtocolClass(protocolId: int):
|
||||
return protocolClassMap[protocolId]
|
||||
|
||||
static func newInstance(protocolId: int):
|
||||
var protocol = protocols[protocolId]
|
||||
var protocol = protocolClassMap[protocolId]
|
||||
return protocol.new()
|
||||
|
||||
static func write(buffer, packet):
|
||||
var protocolId: int = packet.PROTOCOL_ID
|
||||
var protocolId: int = packet.protocolId()
|
||||
buffer.writeShort(protocolId)
|
||||
var protocol = protocols[protocolId]
|
||||
protocol.write(buffer, packet)
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
class ${protocol_name}Registration:
|
||||
func write(buffer: ByteBuffer, packet: Object):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
${protocol_write_serialization}
|
||||
pass
|
||||
|
||||
func read(buffer: ByteBuffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(${protocol_id})
|
||||
${protocol_read_deserialization}
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
@@ -1,28 +1,5 @@
|
||||
const PROTOCOL_ID = ${protocol_id}
|
||||
const PROTOCOL_CLASS_NAME = "${protocol_name}"
|
||||
${protocol_imports}
|
||||
${protocol_note}
|
||||
${protocol_field_definition}
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "${protocol_json}"
|
||||
var params = [${protocol_to_string}]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
${protocol_class}
|
||||
|
||||
static func write(buffer, packet):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
${protocol_write_serialization}
|
||||
pass
|
||||
|
||||
static func read(buffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(PROTOCOL_ID)
|
||||
${protocol_read_deserialization}
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
${protocol_registration}
|
||||
@@ -1 +1,5 @@
|
||||
${protocol_class}
|
||||
${protocol_imports}
|
||||
|
||||
${protocol_class}
|
||||
|
||||
${protocol_registration}
|
||||
@@ -13,14 +13,14 @@ const maxSize int = 655537
|
||||
var initArray []byte = make([]byte, initSize, initSize)
|
||||
|
||||
type ByteBuffer struct {
|
||||
buffer []byte
|
||||
writeIndex int
|
||||
readIndex int
|
||||
buffer []byte
|
||||
writeOffset int
|
||||
readOffset int
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) AdjustPadding(predictionLength int, beforeWriteIndex int) {
|
||||
// 因为写入的是可变长的int,如果预留的位置过多,则清除多余的位置
|
||||
var currentWriteIndex = byteBuffer.WriteOffset()
|
||||
var currentWriteIndex = byteBuffer.GetWriteOffset()
|
||||
var predictionCount = byteBuffer.WriteIntCount(int32(predictionLength))
|
||||
var length = currentWriteIndex - beforeWriteIndex - predictionCount
|
||||
var lengthCount = byteBuffer.WriteIntCount(int32(length))
|
||||
@@ -38,44 +38,48 @@ func (byteBuffer *ByteBuffer) AdjustPadding(predictionLength int, beforeWriteInd
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) CompatibleRead(beforeReadIndex int, length int) bool {
|
||||
return length != -1 && byteBuffer.readIndex < length+beforeReadIndex
|
||||
return length != -1 && byteBuffer.readOffset < length+beforeReadIndex
|
||||
}
|
||||
|
||||
// -------------------------------------------------get/set-------------------------------------------------
|
||||
func (byteBuffer *ByteBuffer) WriteOffset() int {
|
||||
return byteBuffer.writeIndex
|
||||
func (byteBuffer *ByteBuffer) GetBuffer() []byte {
|
||||
return byteBuffer.buffer
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) GetWriteOffset() int {
|
||||
return byteBuffer.writeOffset
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) SetWriteOffset(writeIndex int) {
|
||||
if writeIndex > len(byteBuffer.buffer) {
|
||||
var error = fmt.Sprintf("writeIndex:[{%d}] out of bounds exception: readerIndex:[{%d}] , writerIndex:[{%d}] (expected: 0 <= readerIndex <= writerIndex <= capacity:[{%d}])", writeIndex, byteBuffer.readIndex, byteBuffer.writeIndex, len(byteBuffer.buffer))
|
||||
var error = fmt.Sprintf("writeIndex:[{%d}] out of bounds exception: readOffset:[{%d}] , writeOffset:[{%d}] (expected: 0 <= readOffset <= writeOffset <= capacity:[{%d}])", writeIndex, byteBuffer.readOffset, byteBuffer.writeOffset, len(byteBuffer.buffer))
|
||||
panic(error)
|
||||
}
|
||||
byteBuffer.writeIndex = writeIndex
|
||||
byteBuffer.writeOffset = writeIndex
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ReadOffset() int {
|
||||
return byteBuffer.readIndex
|
||||
func (byteBuffer *ByteBuffer) GetReadOffset() int {
|
||||
return byteBuffer.readOffset
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) SetReadOffset(readIndex int) {
|
||||
if readIndex > byteBuffer.writeIndex {
|
||||
var error = fmt.Sprintf("readIndex:[{%d}] out of bounds exception: readerIndex:[{%d}] , writerIndex:[{%d}] (expected: 0 <= readerIndex <= writerIndex <= capacity:[{%d}])", readIndex, byteBuffer.readIndex, byteBuffer.writeIndex, len(byteBuffer.buffer))
|
||||
if readIndex > byteBuffer.writeOffset {
|
||||
var error = fmt.Sprintf("readIndex:[{%d}] out of bounds exception: readOffset:[{%d}] , writeOffset:[{%d}] (expected: 0 <= readOffset <= writeOffset <= capacity:[{%d}])", readIndex, byteBuffer.readOffset, byteBuffer.writeOffset, len(byteBuffer.buffer))
|
||||
panic(error)
|
||||
}
|
||||
byteBuffer.readIndex = readIndex
|
||||
byteBuffer.readOffset = readIndex
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ToBytes() []byte {
|
||||
return byteBuffer.buffer[0:byteBuffer.writeIndex]
|
||||
return byteBuffer.buffer[0:byteBuffer.writeOffset]
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ToString() string {
|
||||
return fmt.Sprintf("writeIndex:[{%d}], readIndex:[{%d}], len:[{%d}], cap:[{%d}]", byteBuffer.writeIndex, byteBuffer.readIndex, len(byteBuffer.buffer), cap(byteBuffer.buffer))
|
||||
return fmt.Sprintf("writeOffset:[{%d}], readOffset:[{%d}], len:[{%d}], cap:[{%d}]", byteBuffer.writeOffset, byteBuffer.readOffset, len(byteBuffer.buffer), cap(byteBuffer.buffer))
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) GetCapacity() int {
|
||||
return len(byteBuffer.buffer) - byteBuffer.writeIndex
|
||||
return len(byteBuffer.buffer) - byteBuffer.writeOffset
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) EnsureCapacity(capacity int) {
|
||||
@@ -93,12 +97,12 @@ func (byteBuffer *ByteBuffer) EnsureCapacity(capacity int) {
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) Clear() {
|
||||
byteBuffer.writeIndex = 0
|
||||
byteBuffer.readIndex = 0
|
||||
byteBuffer.writeOffset = 0
|
||||
byteBuffer.readOffset = 0
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) IsReadable() bool {
|
||||
return byteBuffer.writeIndex > byteBuffer.readIndex
|
||||
return byteBuffer.writeOffset > byteBuffer.readOffset
|
||||
}
|
||||
|
||||
// -------------------------------------------------write/read-------------------------------------------------
|
||||
@@ -122,55 +126,55 @@ func BytesToInt(b []byte) int {
|
||||
func (byteBuffer *ByteBuffer) WriteBool(value bool) {
|
||||
byteBuffer.EnsureCapacity(1)
|
||||
if value {
|
||||
byteBuffer.buffer[byteBuffer.writeIndex] = 1
|
||||
byteBuffer.buffer[byteBuffer.writeOffset] = 1
|
||||
} else {
|
||||
byteBuffer.buffer[byteBuffer.writeIndex] = 0
|
||||
byteBuffer.buffer[byteBuffer.writeOffset] = 0
|
||||
}
|
||||
byteBuffer.writeIndex++
|
||||
byteBuffer.writeOffset++
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ReadBool() bool {
|
||||
var byteValue = byteBuffer.buffer[byteBuffer.readIndex]
|
||||
byteBuffer.readIndex++
|
||||
var byteValue = byteBuffer.buffer[byteBuffer.readOffset]
|
||||
byteBuffer.readOffset++
|
||||
return byteValue == 1
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) WriteByte(value int8) {
|
||||
byteBuffer.EnsureCapacity(1)
|
||||
byteBuffer.buffer[byteBuffer.writeIndex] = byte(value)
|
||||
byteBuffer.writeIndex++
|
||||
byteBuffer.buffer[byteBuffer.writeOffset] = byte(value)
|
||||
byteBuffer.writeOffset++
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ReadByte() int8 {
|
||||
var byteValue = byteBuffer.buffer[byteBuffer.readIndex]
|
||||
byteBuffer.readIndex++
|
||||
var byteValue = byteBuffer.buffer[byteBuffer.readOffset]
|
||||
byteBuffer.readOffset++
|
||||
return int8(byteValue)
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) WriteUByte(value byte) {
|
||||
byteBuffer.EnsureCapacity(1)
|
||||
byteBuffer.buffer[byteBuffer.writeIndex] = value
|
||||
byteBuffer.writeIndex++
|
||||
byteBuffer.buffer[byteBuffer.writeOffset] = value
|
||||
byteBuffer.writeOffset++
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ReadUByte() byte {
|
||||
var byteValue = byteBuffer.buffer[byteBuffer.readIndex]
|
||||
byteBuffer.readIndex++
|
||||
var byteValue = byteBuffer.buffer[byteBuffer.readOffset]
|
||||
byteBuffer.readOffset++
|
||||
return byteValue
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) WriteUBytes(bytes []byte) {
|
||||
var length = len(bytes)
|
||||
byteBuffer.EnsureCapacity(length)
|
||||
copy(byteBuffer.buffer[byteBuffer.writeIndex:], bytes)
|
||||
byteBuffer.writeIndex += length
|
||||
copy(byteBuffer.buffer[byteBuffer.writeOffset:], bytes)
|
||||
byteBuffer.writeOffset += length
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ReadUBytes(length int) []byte {
|
||||
var readOffset = byteBuffer.readIndex
|
||||
var endOffset = byteBuffer.readIndex + length
|
||||
var readOffset = byteBuffer.readOffset
|
||||
var endOffset = byteBuffer.readOffset + length
|
||||
var bytes = byteBuffer.buffer[readOffset:endOffset]
|
||||
byteBuffer.readIndex += length
|
||||
byteBuffer.readOffset += length
|
||||
return bytes
|
||||
}
|
||||
|
||||
@@ -514,7 +518,7 @@ func Read(buffer *ByteBuffer) any {
|
||||
}
|
||||
|
||||
// -------------------------------------------------CutDown-------------------------------------------------
|
||||
func (byteBuffer *ByteBuffer) WriteBooleanArray(array []bool) {
|
||||
func (byteBuffer *ByteBuffer) WriteBoolArray(array []bool) {
|
||||
if array == nil {
|
||||
byteBuffer.WriteInt(0)
|
||||
} else {
|
||||
@@ -525,7 +529,7 @@ func (byteBuffer *ByteBuffer) WriteBooleanArray(array []bool) {
|
||||
}
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ReadBooleanArray() []bool {
|
||||
func (byteBuffer *ByteBuffer) ReadBoolArray() []bool {
|
||||
var size = byteBuffer.ReadInt()
|
||||
var array = make([]bool, size)
|
||||
if size > 0 {
|
||||
|
||||
@@ -17,7 +17,7 @@ func (protocol ${protocol_name}) read(buffer *ByteBuffer) any {
|
||||
if length == 0 {
|
||||
return packet
|
||||
}
|
||||
var beforeReadIndex = buffer.ReadOffset()
|
||||
var beforeReadIndex = buffer.GetReadOffset()
|
||||
${protocol_read_deserialization}
|
||||
if length > 0 {
|
||||
buffer.SetReadOffset(beforeReadIndex + length)
|
||||
|
||||
@@ -16,7 +16,7 @@ func (protocol ${protocol_name}) read(buffer *ByteBuffer) any {
|
||||
if length == 0 {
|
||||
return packet
|
||||
}
|
||||
var beforeReadIndex = buffer.ReadOffset()
|
||||
var beforeReadIndex = buffer.GetReadOffset()
|
||||
if length > 0 {
|
||||
buffer.SetReadOffset(beforeReadIndex + length)
|
||||
}
|
||||
|
||||
@@ -48,8 +48,8 @@ public class ByteBuffer {
|
||||
|
||||
public void setWriteOffset(int writeIndex) {
|
||||
if (writeIndex > buffer.length) {
|
||||
throw new RuntimeException("writeIndex[" + writeIndex + "] out of bounds exception: readerIndex: " + readOffset +
|
||||
", writerIndex: " + writeOffset + "(expected: 0 <= readerIndex <= writerIndex <= capacity:" + buffer.length);
|
||||
throw new RuntimeException("writeIndex[" + writeIndex + "] out of bounds exception: readOffset: " + readOffset +
|
||||
", writeOffset: " + writeOffset + "(expected: 0 <= readOffset <= writeOffset <= capacity:" + buffer.length + ")");
|
||||
}
|
||||
writeOffset = writeIndex;
|
||||
}
|
||||
@@ -60,8 +60,8 @@ public class ByteBuffer {
|
||||
|
||||
public void setReadOffset(int readIndex) {
|
||||
if (readIndex > writeOffset) {
|
||||
throw new RuntimeException("readIndex[" + readIndex + "] out of bounds exception: readerIndex: " + readOffset +
|
||||
", writerIndex: " + writeOffset + "(expected: 0 <= readerIndex <= writerIndex <= capacity:" + buffer.length);
|
||||
throw new RuntimeException("readIndex[" + readIndex + "] out of bounds exception: readOffset: " + readOffset +
|
||||
", writeOffset: " + writeOffset + "(expected: 0 <= readOffset <= writeOffset <= capacity:" + buffer.length + ")");
|
||||
}
|
||||
readOffset = readIndex;
|
||||
}
|
||||
|
||||
@@ -40,8 +40,8 @@ class ByteBuffer {
|
||||
fun setWriteOffset(writeIndex: Int) {
|
||||
if (writeIndex > buffer.size) {
|
||||
throw RuntimeException(
|
||||
"writeIndex[" + writeIndex + "] out of bounds exception: readerIndex: " + readOffset +
|
||||
", writerIndex: " + writeOffset + "(expected: 0 <= readerIndex <= writerIndex <= capacity:" + buffer.size
|
||||
"writeIndex[" + writeIndex + "] out of bounds exception: readOffset: " + readOffset +
|
||||
", writeOffset: " + writeOffset + "(expected: 0 <= readOffset <= writeOffset <= capacity:" + buffer.size + ")"
|
||||
)
|
||||
}
|
||||
writeOffset = writeIndex
|
||||
@@ -54,8 +54,8 @@ class ByteBuffer {
|
||||
fun setReadOffset(readIndex: Int) {
|
||||
if (readIndex > writeOffset) {
|
||||
throw RuntimeException(
|
||||
"readIndex[" + readIndex + "] out of bounds exception: readerIndex: " + readOffset +
|
||||
", writerIndex: " + writeOffset + "(expected: 0 <= readerIndex <= writerIndex <= capacity:" + buffer.size
|
||||
"readIndex[" + readIndex + "] out of bounds exception: readOffset: " + readOffset +
|
||||
", writeOffset: " + writeOffset + "(expected: 0 <= readOffsetIndex <= writeOffset <= capacity:" + buffer.size + ")"
|
||||
)
|
||||
}
|
||||
readOffset = readIndex
|
||||
|
||||
@@ -14,8 +14,8 @@ local zeroByte = string.char(0)
|
||||
|
||||
local ByteBuffer = {}
|
||||
|
||||
local trueBooleanStrValue = string.char(1)
|
||||
local falseBooleanStrValue = string.char(0)
|
||||
local trueBoolStrValue = string.char(1)
|
||||
local falseBoolStrValue = string.char(0)
|
||||
|
||||
function serializeTableToJson(tbl)
|
||||
local res = {}
|
||||
@@ -127,15 +127,19 @@ function ByteBuffer:compatibleRead(beforeReadIndex, length)
|
||||
end
|
||||
|
||||
-------------------------------------get和set-------------------------------------
|
||||
function ByteBuffer:getBuffer()
|
||||
return self.buffer
|
||||
end
|
||||
|
||||
function ByteBuffer:getWriteOffset()
|
||||
return self.writeOffset
|
||||
end
|
||||
|
||||
function ByteBuffer:setWriteOffset(writeOffset)
|
||||
if writeOffset > #self.buffer + 1 then
|
||||
error(string.format("writeOffset: %s index out of bounds exception: readerIndex: %s, writerIndex: %s, (expected: 0 <= readerIndex <= writerIndex <= capacity: %s)", writeOffset, self.readOffset, self.writeOffset, #self.buffer))
|
||||
function ByteBuffer:setWriteOffset(writeIndex)
|
||||
if writeIndex > #self.buffer + 1 then
|
||||
error(string.format("writeIndex: %s index out of bounds exception: readOffset: %s, writerOffset: %s, (expected: 0 <= readOffset <= writeOffset <= capacity: %s)", writeIndex, self.readOffset, self.writeOffset, #self.buffer))
|
||||
end
|
||||
self.writeOffset = writeOffset
|
||||
self.writeOffset = writeIndex
|
||||
return self
|
||||
end
|
||||
|
||||
@@ -143,11 +147,11 @@ function ByteBuffer:getReadOffset()
|
||||
return self.readOffset
|
||||
end
|
||||
|
||||
function ByteBuffer:setReadOffset(readOffset)
|
||||
if readOffset > self.writeOffset then
|
||||
error(string.format("readOffset: %s index out of bounds exception: readerIndex: %s, writerIndex: %s, (expected: 0 <= readerIndex <= writerIndex <= capacity: %s)", readOffset, self.readOffset, self.writeOffset, #self.buffer))
|
||||
function ByteBuffer:setReadOffset(readIndex)
|
||||
if readIndex > self.writeOffset then
|
||||
error(string.format("readIndex: %s index out of bounds exception: readOffset: %s, writerIndex: %s, (expected: 0 <= readOffset <= writeOffset <= capacity: %s)", readIndex, self.readOffset, self.writeOffset, #self.buffer))
|
||||
end
|
||||
self.readOffset = readOffset
|
||||
self.readOffset = readIndex
|
||||
return self
|
||||
end
|
||||
|
||||
@@ -166,19 +170,19 @@ end
|
||||
-------------------------------------write和read-------------------------------------
|
||||
|
||||
--bool
|
||||
function ByteBuffer:writeBoolean(boolValue)
|
||||
function ByteBuffer:writeBool(boolValue)
|
||||
if boolValue then
|
||||
self:writeRawByteStr(trueBooleanStrValue)
|
||||
self:writeRawByteStr(trueBoolStrValue)
|
||||
else
|
||||
self:writeRawByteStr(falseBooleanStrValue)
|
||||
self:writeRawByteStr(falseBoolStrValue)
|
||||
end
|
||||
return self
|
||||
end
|
||||
|
||||
function ByteBuffer:readBoolean()
|
||||
function ByteBuffer:readBool()
|
||||
-- When char > 256, the readUByte method will show an error.
|
||||
-- So, we have to use readChar
|
||||
return self:readRawByteStr() == trueBooleanStrValue
|
||||
return self:readRawByteStr() == trueBoolStrValue
|
||||
end
|
||||
|
||||
|
||||
@@ -527,24 +531,24 @@ function ByteBuffer:readPacket(protocolId)
|
||||
return protocolRegistration:read(self)
|
||||
end
|
||||
|
||||
function ByteBuffer:writeBooleanArray(array)
|
||||
function ByteBuffer:writeBoolArray(array)
|
||||
if array == nil then
|
||||
self:writeInt(0)
|
||||
else
|
||||
self:writeInt(#array)
|
||||
for index, element in pairs(array) do
|
||||
self:writeBoolean(element)
|
||||
self:writeBool(element)
|
||||
end
|
||||
end
|
||||
return self
|
||||
end
|
||||
|
||||
function ByteBuffer:readBooleanArray()
|
||||
function ByteBuffer:readBoolArray()
|
||||
local array = {}
|
||||
local size = self:readInt()
|
||||
if size > 0 then
|
||||
for index = 1, size do
|
||||
table.insert(array, self:readBoolean())
|
||||
table.insert(array, self:readBool())
|
||||
end
|
||||
end
|
||||
return array
|
||||
|
||||
@@ -61,8 +61,8 @@ class ByteBuffer
|
||||
public function setWriteOffset(int $writeIndex): void
|
||||
{
|
||||
if ($writeIndex > strlen($this->buffer)) {
|
||||
throw new Exception("writeIndex[" . $writeIndex . "] out of bounds exception: readerIndex: " . $this->readOffset .
|
||||
", writerIndex: " . $this->writeOffset . "(expected: 0 <= readerIndex <= writerIndex <= capacity:" . strlen($this->buffer));
|
||||
throw new Exception("writeIndex[" . $writeIndex . "] out of bounds exception: readOffset: " . $this->readOffset .
|
||||
", writeOffset: " . $this->writeOffset . "(expected: 0 <= readOffset <= writeOffset <= capacity:" . strlen($this->buffer) . ")");
|
||||
}
|
||||
$this->writeOffset = $writeIndex;
|
||||
}
|
||||
@@ -78,8 +78,8 @@ class ByteBuffer
|
||||
public function setReadOffset(int $readIndex): void
|
||||
{
|
||||
if ($readIndex > $this->writeOffset) {
|
||||
throw new Exception("readIndex[" . $readIndex . "] out of bounds exception: readerIndex: " . $this->readOffset .
|
||||
", writerIndex: " . $this->writeOffset . "(expected: 0 <= readerIndex <= writerIndex <= capacity:" . strlen($this->buffer));
|
||||
throw new Exception("readIndex[" . $readIndex . "] out of bounds exception: readOffset: " . $this->readOffset .
|
||||
", writeOffset: " . $this->writeOffset . "(expected: 0 <= readOffset <= writeOffset <= capacity:" . strlen($this->buffer));
|
||||
}
|
||||
$this->readOffset = $readIndex;
|
||||
}
|
||||
|
||||
@@ -34,26 +34,29 @@ class ByteBuffer():
|
||||
def compatibleRead(self, beforeReadIndex, length):
|
||||
return length != -1 and self.getReadOffset() < length + beforeReadIndex
|
||||
|
||||
def getBuffer(self):
|
||||
return self.buffer
|
||||
|
||||
def getWriteOffset(self):
|
||||
return self.writeOffset
|
||||
|
||||
def setWriteOffset(self, writeOffset):
|
||||
if writeOffset > len(self.buffer):
|
||||
raise ValueError("index out of bounds exception:readerIndex:" + str(self.readOffset) +
|
||||
", writerIndex:" + str(self.writeOffset) +
|
||||
"(expected:0 <= readerIndex <= writerIndex <= capacity:" + str(len(self.buffer)))
|
||||
self.writeOffset = writeOffset
|
||||
def setWriteOffset(self, writeIndex):
|
||||
if writeIndex > len(self.buffer):
|
||||
raise ValueError("writeIndex out of bounds exception:readOffset:" + str(self.readOffset) +
|
||||
", writeOffset:" + str(self.writeOffset) +
|
||||
"(expected:0 <= readOffset <= writeOffset <= capacity:" + str(len(self.buffer)))
|
||||
self.writeOffset = writeIndex
|
||||
pass
|
||||
|
||||
def getReadOffset(self):
|
||||
return self.readOffset
|
||||
|
||||
def setReadOffset(self, readOffset):
|
||||
if readOffset > self.writeOffset:
|
||||
raise ValueError("index out of bounds exception:readerIndex:" + str(self.readOffset) +
|
||||
", writerIndex:" + str(self.writeOffset) +
|
||||
"(expected:0 <= readerIndex <= writerIndex <= capacity:" + str(len(self.buffer)))
|
||||
self.readOffset = readOffset
|
||||
def setReadOffset(self, readIndex):
|
||||
if readIndex > self.writeOffset:
|
||||
raise ValueError("readIndex out of bounds exception:readOffset:" + str(self.readOffset) +
|
||||
", writeOffset:" + str(self.writeOffset) +
|
||||
"(expected:0 <= readOffset <= writeOffset <= capacity:" + str(len(self.buffer)))
|
||||
self.readOffset = readIndex
|
||||
pass
|
||||
|
||||
def isReadable(self):
|
||||
@@ -362,7 +365,7 @@ class ByteBuffer():
|
||||
protocolRegistration = ProtocolManager.getProtocol(protocolId)
|
||||
return protocolRegistration.read(self)
|
||||
|
||||
def writeBooleanArray(self, array):
|
||||
def writeBoolArray(self, array):
|
||||
if array is None:
|
||||
self.writeInt(0)
|
||||
else:
|
||||
@@ -371,7 +374,7 @@ class ByteBuffer():
|
||||
self.writeBool(element)
|
||||
pass
|
||||
|
||||
def readBooleanArray(self):
|
||||
def readBoolArray(self):
|
||||
array = []
|
||||
size = self.readInt()
|
||||
if size > 0:
|
||||
@@ -755,7 +758,7 @@ class ByteBuffer():
|
||||
map[key] = value
|
||||
return map
|
||||
|
||||
def writeBooleanSet(self, value):
|
||||
def writeBoolSet(self, value):
|
||||
if value is None:
|
||||
self.writeInt(0)
|
||||
else:
|
||||
@@ -764,7 +767,7 @@ class ByteBuffer():
|
||||
self.writeBool(element)
|
||||
pass
|
||||
|
||||
def readBooleanSet(self):
|
||||
def readBoolSet(self):
|
||||
value = set()
|
||||
size = self.readInt()
|
||||
if size > 0:
|
||||
|
||||
@@ -43,14 +43,14 @@ class ByteBuffer {
|
||||
def getWriteOffset: Int = writeOffset
|
||||
|
||||
def setWriteOffset(writeIndex: Int): Unit = {
|
||||
if (writeIndex > buffer.length) throw new RuntimeException("writeIndex[" + writeIndex + "] out of bounds exception: readerIndex: " + readOffset + ", writerIndex: " + writeOffset + "(expected: 0 <= readerIndex <= writerIndex <= capacity:" + buffer.length)
|
||||
if (writeIndex > buffer.length) throw new RuntimeException("writeIndex[" + writeIndex + "] out of bounds exception: readOffset: " + readOffset + ", writeOffset: " + writeOffset + "(expected: 0 <= readOffset <= writeOffset <= capacity:" + buffer.length + ")")
|
||||
writeOffset = writeIndex
|
||||
}
|
||||
|
||||
def getReadOffset: Int = readOffset
|
||||
|
||||
def setReadOffset(readIndex: Int): Unit = {
|
||||
if (readIndex > writeOffset) throw new RuntimeException("readIndex[" + readIndex + "] out of bounds exception: readerIndex: " + readOffset + ", writerIndex: " + writeOffset + "(expected: 0 <= readerIndex <= writerIndex <= capacity:" + buffer.length)
|
||||
if (readIndex > writeOffset) throw new RuntimeException("readIndex[" + readIndex + "] out of bounds exception: readOffset: " + readOffset + ", writeOffset: " + writeOffset + "(expected: 0 <= readOffset <= writeOffset <= capacity:" + buffer.length + ")")
|
||||
readOffset = readIndex
|
||||
}
|
||||
|
||||
|
||||
@@ -82,6 +82,7 @@ func _ready():
|
||||
|
||||
|
||||
func test():
|
||||
ProtocolManager.initProtocol()
|
||||
var buffer = ByteBuffer.new()
|
||||
|
||||
var filePath = "res://compatible/normal-out-inner-inner-compatible.bytes"
|
||||
@@ -92,7 +93,7 @@ func test():
|
||||
var file = FileAccess.open(filePath, FileAccess.READ)
|
||||
|
||||
var poolByteArray = file.get_buffer(file.get_length())
|
||||
buffer.writePackedByteArray(poolByteArray)
|
||||
buffer.writeBytes(poolByteArray)
|
||||
|
||||
var packet = ProtocolManager.read(buffer)
|
||||
print(packet)
|
||||
|
||||
@@ -39,9 +39,12 @@ func compatibleRead(beforeReadIndex: int, length: int) -> bool:
|
||||
return length != -1 && getReadOffset() < length + beforeReadIndex
|
||||
|
||||
# -------------------------------------------------get/set-------------------------------------------------
|
||||
func getBuffer() -> StreamPeerBuffer:
|
||||
return buffer
|
||||
|
||||
func setWriteOffset(writeIndex: int) -> void:
|
||||
if (writeIndex > buffer.get_size()):
|
||||
var template = "writeIndex[{}] out of bounds exception: readerIndex: {}, writerIndex: {} (expected: 0 <= readerIndex <= writerIndex <= capacity: {})"
|
||||
var template = "writeIndex[{}] out of bounds exception: readOffset: {}, writeOffset: {} (expected: 0 <= readOffset <= writeOffset <= capacity: {})"
|
||||
printerr(template.format([writeIndex, readOffset, writeOffset, buffer.get_size()], "{}"))
|
||||
return
|
||||
writeOffset = writeIndex
|
||||
@@ -52,7 +55,7 @@ func getWriteOffset() -> int:
|
||||
|
||||
func setReadOffset(readIndex: int) -> void:
|
||||
if (readIndex > writeOffset):
|
||||
var template = "readIndex[{}] out of bounds exception: readerIndex: {}, writerIndex: {} (expected: 0 <= readerIndex <= writerIndex <= capacity: {})"
|
||||
var template = "readIndex[{}] out of bounds exception: readOffset: {}, writeOffset: {} (expected: 0 <= readOffset <= writeOffset <= capacity: {})"
|
||||
printerr(template.format([readIndex, readOffset, writeOffset, buffer.size()], "{}"))
|
||||
return
|
||||
readOffset = readIndex
|
||||
@@ -64,15 +67,21 @@ func getReadOffset() -> int:
|
||||
func isReadable() -> bool:
|
||||
return writeOffset > readOffset
|
||||
|
||||
func toBytes() -> PackedByteArray:
|
||||
return buffer.data_array.slice(0, writeOffset)
|
||||
|
||||
func newInstance(protocolId: int):
|
||||
return ProtocolManager.newInstance(protocolId)
|
||||
|
||||
# -------------------------------------------------write/read-------------------------------------------------
|
||||
func writePackedByteArray(value: PackedByteArray):
|
||||
func writeBytes(value: PackedByteArray):
|
||||
var length: int = value.size()
|
||||
buffer.put_partial_data(value)
|
||||
writeOffset += length
|
||||
pass
|
||||
|
||||
func toPackedByteArray() -> PackedByteArray:
|
||||
return buffer.data_array.slice(0, writeOffset)
|
||||
func readBytes(length: int) -> PackedByteArray:
|
||||
return buffer.data_array.slice(0, length)
|
||||
|
||||
func writeBool(value: bool) -> void:
|
||||
var byte: int = 1 if value else 0
|
||||
@@ -303,10 +312,7 @@ func readPacket(protocolId):
|
||||
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
|
||||
return protocolRegistration.read(self)
|
||||
|
||||
func newInstance(protocolId: int):
|
||||
return ProtocolManager.newInstance(protocolId)
|
||||
|
||||
func writeBooleanArray(array):
|
||||
func writeBoolArray(array):
|
||||
if (array == null):
|
||||
writeInt(0)
|
||||
else:
|
||||
@@ -315,7 +321,7 @@ func writeBooleanArray(array):
|
||||
writeBool(element)
|
||||
pass
|
||||
|
||||
func readBooleanArray() -> Array[bool]:
|
||||
func readBoolArray() -> Array[bool]:
|
||||
var array: Array[bool] = []
|
||||
var size = readInt()
|
||||
if (size > 0):
|
||||
@@ -454,7 +460,8 @@ func writePacketArray(array, protocolId):
|
||||
|
||||
func readPacketArray(protocolId):
|
||||
var protocolRegistration = ProtocolManager.getProtocol(protocolId)
|
||||
var array = Array([], typeof(protocolRegistration), StringName("RefCounted"), protocolRegistration)
|
||||
var protocol = ProtocolManager.getProtocolClass(protocolId)
|
||||
var array = Array([], typeof(protocol), StringName("RefCounted"), protocol)
|
||||
var size = readInt()
|
||||
if (size > 0):
|
||||
for index in range(size):
|
||||
|
||||
@@ -6,25 +6,38 @@ const ObjectA = preload("res://zfoogd/packet/ObjectA.gd")
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd")
|
||||
const SimpleObject = preload("res://zfoogd/packet/SimpleObject.gd")
|
||||
|
||||
const protocols: Dictionary = {
|
||||
0: EmptyObject,
|
||||
1: VeryBigObject,
|
||||
100: ComplexObject,
|
||||
101: NormalObject,
|
||||
102: ObjectA,
|
||||
103: ObjectB,
|
||||
104: SimpleObject
|
||||
}
|
||||
static var protocols: Dictionary = {}
|
||||
static var protocolClassMap: Dictionary = {}
|
||||
|
||||
static func initProtocol():
|
||||
protocols[0] = EmptyObject.EmptyObjectRegistration.new()
|
||||
protocolClassMap[0] = EmptyObject
|
||||
protocols[1] = VeryBigObject.VeryBigObjectRegistration.new()
|
||||
protocolClassMap[1] = VeryBigObject
|
||||
protocols[100] = ComplexObject.ComplexObjectRegistration.new()
|
||||
protocolClassMap[100] = ComplexObject
|
||||
protocols[101] = NormalObject.NormalObjectRegistration.new()
|
||||
protocolClassMap[101] = NormalObject
|
||||
protocols[102] = ObjectA.ObjectARegistration.new()
|
||||
protocolClassMap[102] = ObjectA
|
||||
protocols[103] = ObjectB.ObjectBRegistration.new()
|
||||
protocolClassMap[103] = ObjectB
|
||||
protocols[104] = SimpleObject.SimpleObjectRegistration.new()
|
||||
protocolClassMap[104] = SimpleObject
|
||||
pass
|
||||
|
||||
static func getProtocol(protocolId: int):
|
||||
return protocols[protocolId]
|
||||
|
||||
static func getProtocolClass(protocolId: int):
|
||||
return protocolClassMap[protocolId]
|
||||
|
||||
static func newInstance(protocolId: int):
|
||||
var protocol = protocols[protocolId]
|
||||
var protocol = protocolClassMap[protocolId]
|
||||
return protocol.new()
|
||||
|
||||
static func write(buffer, packet):
|
||||
var protocolId: int = packet.PROTOCOL_ID
|
||||
var protocolId: int = packet.protocolId()
|
||||
buffer.writeShort(protocolId)
|
||||
var protocol = protocols[protocolId]
|
||||
protocol.write(buffer, packet)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
const PROTOCOL_ID = 100
|
||||
const PROTOCOL_CLASS_NAME = "ComplexObject"
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
const ObjectA = preload("res://zfoogd/packet/ObjectA.gd")
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd")
|
||||
|
||||
# 复杂的对象,包括了各种复杂的结构,数组,List,Set,Map
|
||||
# byte类型,最简单的整形
|
||||
var a: int
|
||||
@@ -57,344 +57,351 @@ var sssss: Array # Set<Map<number, string>>
|
||||
var myCompatible: int
|
||||
var myObject: ObjectA
|
||||
|
||||
func protocolId() -> int:
|
||||
return 100
|
||||
|
||||
func get_class_name() -> String:
|
||||
return "ComplexObject"
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{a:{}, aa:{}, aaa:{}, aaaa:{}, b:{}, bb:{}, bbb:{}, bbbb:{}, c:{}, cc:{}, ccc:{}, cccc:{}, d:{}, dd:{}, ddd:{}, dddd:{}, e:{}, ee:{}, eee:{}, eeee:{}, f:{}, ff:{}, fff:{}, ffff:{}, g:{}, gg:{}, ggg:{}, gggg:{}, jj:'{}', jjj:{}, kk:{}, kkk:{}, l:{}, ll:{}, lll:{}, llll:{}, lllll:{}, m:{}, mm:{}, mmm:{}, mmmm:{}, mmmmm:{}, s:{}, ss:{}, sss:{}, ssss:{}, sssss:{}, myCompatible:{}, myObject:{}}"
|
||||
var params = [self.a, self.aa, JSON.stringify(self.aaa), JSON.stringify(self.aaaa), self.b, self.bb, JSON.stringify(self.bbb), JSON.stringify(self.bbbb), self.c, self.cc, JSON.stringify(self.ccc), JSON.stringify(self.cccc), self.d, self.dd, JSON.stringify(self.ddd), JSON.stringify(self.dddd), self.e, self.ee, JSON.stringify(self.eee), JSON.stringify(self.eeee), self.f, self.ff, JSON.stringify(self.fff), JSON.stringify(self.ffff), self.g, self.gg, JSON.stringify(self.ggg), JSON.stringify(self.gggg), self.jj, JSON.stringify(self.jjj), self.kk, JSON.stringify(self.kkk), JSON.stringify(self.l), JSON.stringify(self.ll), JSON.stringify(self.lll), JSON.stringify(self.llll), JSON.stringify(self.lllll), JSON.stringify(self.m), JSON.stringify(self.mm), JSON.stringify(self.mmm), JSON.stringify(self.mmmm), JSON.stringify(self.mmmmm), JSON.stringify(self.s), JSON.stringify(self.ss), JSON.stringify(self.sss), JSON.stringify(self.ssss), JSON.stringify(self.sssss), self.myCompatible, self.myObject]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
static func write(buffer, packet):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(36962)
|
||||
buffer.writeByte(packet.a)
|
||||
buffer.writeByte(packet.aa)
|
||||
buffer.writeByteArray(packet.aaa)
|
||||
buffer.writeByteArray(packet.aaaa)
|
||||
buffer.writeShort(packet.b)
|
||||
buffer.writeShort(packet.bb)
|
||||
buffer.writeShortArray(packet.bbb)
|
||||
buffer.writeShortArray(packet.bbbb)
|
||||
buffer.writeInt(packet.c)
|
||||
buffer.writeInt(packet.cc)
|
||||
buffer.writeIntArray(packet.ccc)
|
||||
buffer.writeIntArray(packet.cccc)
|
||||
buffer.writeLong(packet.d)
|
||||
buffer.writeLong(packet.dd)
|
||||
buffer.writeLongArray(packet.ddd)
|
||||
buffer.writeLongArray(packet.dddd)
|
||||
buffer.writeFloat(packet.e)
|
||||
buffer.writeFloat(packet.ee)
|
||||
buffer.writeFloatArray(packet.eee)
|
||||
buffer.writeFloatArray(packet.eeee)
|
||||
buffer.writeDouble(packet.f)
|
||||
buffer.writeDouble(packet.ff)
|
||||
buffer.writeDoubleArray(packet.fff)
|
||||
buffer.writeDoubleArray(packet.ffff)
|
||||
buffer.writeBool(packet.g)
|
||||
buffer.writeBool(packet.gg)
|
||||
buffer.writeBooleanArray(packet.ggg)
|
||||
buffer.writeBooleanArray(packet.gggg)
|
||||
buffer.writeString(packet.jj)
|
||||
buffer.writeStringArray(packet.jjj)
|
||||
buffer.writePacket(packet.kk, 102)
|
||||
buffer.writePacketArray(packet.kkk, 102)
|
||||
buffer.writeIntArray(packet.l)
|
||||
if (packet.ll == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.ll.size())
|
||||
for element0 in packet.ll:
|
||||
if (element0 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(element0.size())
|
||||
for element1 in element0:
|
||||
buffer.writeIntArray(element1)
|
||||
if (packet.lll == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.lll.size())
|
||||
for element2 in packet.lll:
|
||||
buffer.writePacketArray(element2, 102)
|
||||
buffer.writeStringArray(packet.llll)
|
||||
if (packet.lllll == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.lllll.size())
|
||||
for element3 in packet.lllll:
|
||||
buffer.writeIntStringMap(element3)
|
||||
buffer.writeIntStringMap(packet.m)
|
||||
buffer.writeIntPacketMap(packet.mm, 102)
|
||||
if (packet.mmm == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.mmm.size())
|
||||
for key4 in packet.mmm:
|
||||
var value5 = packet.mmm[key4]
|
||||
buffer.writePacket(key4, 102)
|
||||
buffer.writeIntArray(value5)
|
||||
if (packet.mmmm == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.mmmm.size())
|
||||
for key6 in packet.mmmm:
|
||||
var value7 = packet.mmmm[key6]
|
||||
if (key6 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(key6.size())
|
||||
for element8 in key6:
|
||||
buffer.writePacketArray(element8, 102)
|
||||
if (value7 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(value7.size())
|
||||
for element9 in value7:
|
||||
if (element9 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(element9.size())
|
||||
for element10 in element9:
|
||||
buffer.writeIntArray(element10)
|
||||
if (packet.mmmmm == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.mmmmm.size())
|
||||
for key11 in packet.mmmmm:
|
||||
var value12 = packet.mmmmm[key11]
|
||||
if (key11 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(key11.size())
|
||||
for element13 in key11:
|
||||
buffer.writeIntStringMap(element13)
|
||||
if (value12 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(value12.size())
|
||||
for element14 in value12:
|
||||
buffer.writeIntStringMap(element14)
|
||||
buffer.writeIntArray(packet.s)
|
||||
if (packet.ss == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.ss.size())
|
||||
for element15 in packet.ss:
|
||||
if (element15 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(element15.size())
|
||||
for element16 in element15:
|
||||
buffer.writeIntArray(element16)
|
||||
if (packet.sss == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.sss.size())
|
||||
for element17 in packet.sss:
|
||||
buffer.writePacketArray(element17, 102)
|
||||
buffer.writeStringArray(packet.ssss)
|
||||
if (packet.sssss == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.sssss.size())
|
||||
for element18 in packet.sssss:
|
||||
buffer.writeIntStringMap(element18)
|
||||
buffer.writeInt(packet.myCompatible)
|
||||
buffer.writePacket(packet.myObject, 102)
|
||||
buffer.adjustPadding(36962, beforeWriteIndex)
|
||||
pass
|
||||
class ComplexObjectRegistration:
|
||||
func write(buffer: ByteBuffer, packet: Object):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(36962)
|
||||
buffer.writeByte(packet.a)
|
||||
buffer.writeByte(packet.aa)
|
||||
buffer.writeByteArray(packet.aaa)
|
||||
buffer.writeByteArray(packet.aaaa)
|
||||
buffer.writeShort(packet.b)
|
||||
buffer.writeShort(packet.bb)
|
||||
buffer.writeShortArray(packet.bbb)
|
||||
buffer.writeShortArray(packet.bbbb)
|
||||
buffer.writeInt(packet.c)
|
||||
buffer.writeInt(packet.cc)
|
||||
buffer.writeIntArray(packet.ccc)
|
||||
buffer.writeIntArray(packet.cccc)
|
||||
buffer.writeLong(packet.d)
|
||||
buffer.writeLong(packet.dd)
|
||||
buffer.writeLongArray(packet.ddd)
|
||||
buffer.writeLongArray(packet.dddd)
|
||||
buffer.writeFloat(packet.e)
|
||||
buffer.writeFloat(packet.ee)
|
||||
buffer.writeFloatArray(packet.eee)
|
||||
buffer.writeFloatArray(packet.eeee)
|
||||
buffer.writeDouble(packet.f)
|
||||
buffer.writeDouble(packet.ff)
|
||||
buffer.writeDoubleArray(packet.fff)
|
||||
buffer.writeDoubleArray(packet.ffff)
|
||||
buffer.writeBool(packet.g)
|
||||
buffer.writeBool(packet.gg)
|
||||
buffer.writeBoolArray(packet.ggg)
|
||||
buffer.writeBoolArray(packet.gggg)
|
||||
buffer.writeString(packet.jj)
|
||||
buffer.writeStringArray(packet.jjj)
|
||||
buffer.writePacket(packet.kk, 102)
|
||||
buffer.writePacketArray(packet.kkk, 102)
|
||||
buffer.writeIntArray(packet.l)
|
||||
if (packet.ll == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.ll.size())
|
||||
for element0 in packet.ll:
|
||||
if (element0 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(element0.size())
|
||||
for element1 in element0:
|
||||
buffer.writeIntArray(element1)
|
||||
if (packet.lll == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.lll.size())
|
||||
for element2 in packet.lll:
|
||||
buffer.writePacketArray(element2, 102)
|
||||
buffer.writeStringArray(packet.llll)
|
||||
if (packet.lllll == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.lllll.size())
|
||||
for element3 in packet.lllll:
|
||||
buffer.writeIntStringMap(element3)
|
||||
buffer.writeIntStringMap(packet.m)
|
||||
buffer.writeIntPacketMap(packet.mm, 102)
|
||||
if (packet.mmm == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.mmm.size())
|
||||
for key4 in packet.mmm:
|
||||
var value5 = packet.mmm[key4]
|
||||
buffer.writePacket(key4, 102)
|
||||
buffer.writeIntArray(value5)
|
||||
if (packet.mmmm == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.mmmm.size())
|
||||
for key6 in packet.mmmm:
|
||||
var value7 = packet.mmmm[key6]
|
||||
if (key6 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(key6.size())
|
||||
for element8 in key6:
|
||||
buffer.writePacketArray(element8, 102)
|
||||
if (value7 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(value7.size())
|
||||
for element9 in value7:
|
||||
if (element9 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(element9.size())
|
||||
for element10 in element9:
|
||||
buffer.writeIntArray(element10)
|
||||
if (packet.mmmmm == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.mmmmm.size())
|
||||
for key11 in packet.mmmmm:
|
||||
var value12 = packet.mmmmm[key11]
|
||||
if (key11 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(key11.size())
|
||||
for element13 in key11:
|
||||
buffer.writeIntStringMap(element13)
|
||||
if (value12 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(value12.size())
|
||||
for element14 in value12:
|
||||
buffer.writeIntStringMap(element14)
|
||||
buffer.writeIntArray(packet.s)
|
||||
if (packet.ss == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.ss.size())
|
||||
for element15 in packet.ss:
|
||||
if (element15 == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(element15.size())
|
||||
for element16 in element15:
|
||||
buffer.writeIntArray(element16)
|
||||
if (packet.sss == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.sss.size())
|
||||
for element17 in packet.sss:
|
||||
buffer.writePacketArray(element17, 102)
|
||||
buffer.writeStringArray(packet.ssss)
|
||||
if (packet.sssss == null):
|
||||
buffer.writeInt(0)
|
||||
else:
|
||||
buffer.writeInt(packet.sssss.size())
|
||||
for element18 in packet.sssss:
|
||||
buffer.writeIntStringMap(element18)
|
||||
buffer.writeInt(packet.myCompatible)
|
||||
buffer.writePacket(packet.myObject, 102)
|
||||
buffer.adjustPadding(36962, beforeWriteIndex)
|
||||
pass
|
||||
|
||||
static func read(buffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(PROTOCOL_ID)
|
||||
var result0 = buffer.readByte()
|
||||
packet.a = result0
|
||||
var result1 = buffer.readByte()
|
||||
packet.aa = result1
|
||||
var array2 = buffer.readByteArray()
|
||||
packet.aaa = array2
|
||||
var array3 = buffer.readByteArray()
|
||||
packet.aaaa = array3
|
||||
var result4 = buffer.readShort()
|
||||
packet.b = result4
|
||||
var result5 = buffer.readShort()
|
||||
packet.bb = result5
|
||||
var array6 = buffer.readShortArray()
|
||||
packet.bbb = array6
|
||||
var array7 = buffer.readShortArray()
|
||||
packet.bbbb = array7
|
||||
var result8 = buffer.readInt()
|
||||
packet.c = result8
|
||||
var result9 = buffer.readInt()
|
||||
packet.cc = result9
|
||||
var array10 = buffer.readIntArray()
|
||||
packet.ccc = array10
|
||||
var array11 = buffer.readIntArray()
|
||||
packet.cccc = array11
|
||||
var result12 = buffer.readLong()
|
||||
packet.d = result12
|
||||
var result13 = buffer.readLong()
|
||||
packet.dd = result13
|
||||
var array14 = buffer.readLongArray()
|
||||
packet.ddd = array14
|
||||
var array15 = buffer.readLongArray()
|
||||
packet.dddd = array15
|
||||
var result16 = buffer.readFloat()
|
||||
packet.e = result16
|
||||
var result17 = buffer.readFloat()
|
||||
packet.ee = result17
|
||||
var array18 = buffer.readFloatArray()
|
||||
packet.eee = array18
|
||||
var array19 = buffer.readFloatArray()
|
||||
packet.eeee = array19
|
||||
var result20 = buffer.readDouble()
|
||||
packet.f = result20
|
||||
var result21 = buffer.readDouble()
|
||||
packet.ff = result21
|
||||
var array22 = buffer.readDoubleArray()
|
||||
packet.fff = array22
|
||||
var array23 = buffer.readDoubleArray()
|
||||
packet.ffff = array23
|
||||
var result24 = buffer.readBool()
|
||||
packet.g = result24
|
||||
var result25 = buffer.readBool()
|
||||
packet.gg = result25
|
||||
var array26 = buffer.readBooleanArray()
|
||||
packet.ggg = array26
|
||||
var array27 = buffer.readBooleanArray()
|
||||
packet.gggg = array27
|
||||
var result28 = buffer.readString()
|
||||
packet.jj = result28
|
||||
var array29 = buffer.readStringArray()
|
||||
packet.jjj = array29
|
||||
var result30 = buffer.readPacket(102)
|
||||
packet.kk = result30
|
||||
var array31 = buffer.readPacketArray(102)
|
||||
packet.kkk = array31
|
||||
var list32 = buffer.readIntArray()
|
||||
packet.l = list32
|
||||
var result33 = []
|
||||
var size35 = buffer.readInt()
|
||||
if (size35 > 0):
|
||||
for index34 in range(size35):
|
||||
var result36 = []
|
||||
var size38 = buffer.readInt()
|
||||
if (size38 > 0):
|
||||
for index37 in range(size38):
|
||||
var list39 = buffer.readIntArray()
|
||||
result36.append(list39)
|
||||
result33.append(result36)
|
||||
packet.ll = result33
|
||||
var result40 = []
|
||||
var size42 = buffer.readInt()
|
||||
if (size42 > 0):
|
||||
for index41 in range(size42):
|
||||
var list43 = buffer.readPacketArray(102)
|
||||
result40.append(list43)
|
||||
packet.lll = result40
|
||||
var list44 = buffer.readStringArray()
|
||||
packet.llll = list44
|
||||
var result45 = []
|
||||
var size47 = buffer.readInt()
|
||||
if (size47 > 0):
|
||||
for index46 in range(size47):
|
||||
var map48 = buffer.readIntStringMap()
|
||||
result45.append(map48)
|
||||
packet.lllll = result45
|
||||
var map49 = buffer.readIntStringMap()
|
||||
packet.m = map49
|
||||
var map50 = buffer.readIntPacketMap(102)
|
||||
packet.mm = map50
|
||||
var result51 = {}
|
||||
var size52 = buffer.readInt()
|
||||
if (size52 > 0):
|
||||
for index53 in range(size52):
|
||||
var result54 = buffer.readPacket(102)
|
||||
var list55 = buffer.readIntArray()
|
||||
result51[result54] = list55
|
||||
packet.mmm = result51
|
||||
var result56 = {}
|
||||
var size57 = buffer.readInt()
|
||||
if (size57 > 0):
|
||||
for index58 in range(size57):
|
||||
var result59 = []
|
||||
var size61 = buffer.readInt()
|
||||
if (size61 > 0):
|
||||
for index60 in range(size61):
|
||||
var list62 = buffer.readPacketArray(102)
|
||||
result59.append(list62)
|
||||
var result63 = []
|
||||
var size65 = buffer.readInt()
|
||||
if (size65 > 0):
|
||||
for index64 in range(size65):
|
||||
var result66 = []
|
||||
var size68 = buffer.readInt()
|
||||
if (size68 > 0):
|
||||
for index67 in range(size68):
|
||||
var list69 = buffer.readIntArray()
|
||||
result66.append(list69)
|
||||
result63.append(result66)
|
||||
result56[result59] = result63
|
||||
packet.mmmm = result56
|
||||
var result70 = {}
|
||||
var size71 = buffer.readInt()
|
||||
if (size71 > 0):
|
||||
for index72 in range(size71):
|
||||
var result73 = []
|
||||
var size75 = buffer.readInt()
|
||||
if (size75 > 0):
|
||||
for index74 in range(size75):
|
||||
var map76 = buffer.readIntStringMap()
|
||||
result73.append(map76)
|
||||
var result77 = []
|
||||
var size79 = buffer.readInt()
|
||||
if (size79 > 0):
|
||||
for index78 in range(size79):
|
||||
var map80 = buffer.readIntStringMap()
|
||||
result77.append(map80)
|
||||
result70[result73] = result77
|
||||
packet.mmmmm = result70
|
||||
var set81 = buffer.readIntArray()
|
||||
packet.s = set81
|
||||
var result82 = []
|
||||
var size84 = buffer.readInt()
|
||||
if (size84 > 0):
|
||||
for index83 in range(size84):
|
||||
var result85 = []
|
||||
var size87 = buffer.readInt()
|
||||
if (size87 > 0):
|
||||
for index86 in range(size87):
|
||||
var list88 = buffer.readIntArray()
|
||||
result85.append(list88)
|
||||
result82.append(result85)
|
||||
packet.ss = result82
|
||||
var result89 = []
|
||||
var size91 = buffer.readInt()
|
||||
if (size91 > 0):
|
||||
for index90 in range(size91):
|
||||
var set92 = buffer.readPacketArray(102)
|
||||
result89.append(set92)
|
||||
packet.sss = result89
|
||||
var set93 = buffer.readStringArray()
|
||||
packet.ssss = set93
|
||||
var result94 = []
|
||||
var size96 = buffer.readInt()
|
||||
if (size96 > 0):
|
||||
for index95 in range(size96):
|
||||
var map97 = buffer.readIntStringMap()
|
||||
result94.append(map97)
|
||||
packet.sssss = result94
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result98 = buffer.readInt()
|
||||
packet.myCompatible = result98;
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result99 = buffer.readPacket(102)
|
||||
packet.myObject = result99;
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
func read(buffer: ByteBuffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(100)
|
||||
var result0 = buffer.readByte()
|
||||
packet.a = result0
|
||||
var result1 = buffer.readByte()
|
||||
packet.aa = result1
|
||||
var array2 = buffer.readByteArray()
|
||||
packet.aaa = array2
|
||||
var array3 = buffer.readByteArray()
|
||||
packet.aaaa = array3
|
||||
var result4 = buffer.readShort()
|
||||
packet.b = result4
|
||||
var result5 = buffer.readShort()
|
||||
packet.bb = result5
|
||||
var array6 = buffer.readShortArray()
|
||||
packet.bbb = array6
|
||||
var array7 = buffer.readShortArray()
|
||||
packet.bbbb = array7
|
||||
var result8 = buffer.readInt()
|
||||
packet.c = result8
|
||||
var result9 = buffer.readInt()
|
||||
packet.cc = result9
|
||||
var array10 = buffer.readIntArray()
|
||||
packet.ccc = array10
|
||||
var array11 = buffer.readIntArray()
|
||||
packet.cccc = array11
|
||||
var result12 = buffer.readLong()
|
||||
packet.d = result12
|
||||
var result13 = buffer.readLong()
|
||||
packet.dd = result13
|
||||
var array14 = buffer.readLongArray()
|
||||
packet.ddd = array14
|
||||
var array15 = buffer.readLongArray()
|
||||
packet.dddd = array15
|
||||
var result16 = buffer.readFloat()
|
||||
packet.e = result16
|
||||
var result17 = buffer.readFloat()
|
||||
packet.ee = result17
|
||||
var array18 = buffer.readFloatArray()
|
||||
packet.eee = array18
|
||||
var array19 = buffer.readFloatArray()
|
||||
packet.eeee = array19
|
||||
var result20 = buffer.readDouble()
|
||||
packet.f = result20
|
||||
var result21 = buffer.readDouble()
|
||||
packet.ff = result21
|
||||
var array22 = buffer.readDoubleArray()
|
||||
packet.fff = array22
|
||||
var array23 = buffer.readDoubleArray()
|
||||
packet.ffff = array23
|
||||
var result24 = buffer.readBool()
|
||||
packet.g = result24
|
||||
var result25 = buffer.readBool()
|
||||
packet.gg = result25
|
||||
var array26 = buffer.readBoolArray()
|
||||
packet.ggg = array26
|
||||
var array27 = buffer.readBoolArray()
|
||||
packet.gggg = array27
|
||||
var result28 = buffer.readString()
|
||||
packet.jj = result28
|
||||
var array29 = buffer.readStringArray()
|
||||
packet.jjj = array29
|
||||
var result30 = buffer.readPacket(102)
|
||||
packet.kk = result30
|
||||
var array31 = buffer.readPacketArray(102)
|
||||
packet.kkk = array31
|
||||
var list32 = buffer.readIntArray()
|
||||
packet.l = list32
|
||||
var result33 = []
|
||||
var size35 = buffer.readInt()
|
||||
if (size35 > 0):
|
||||
for index34 in range(size35):
|
||||
var result36 = []
|
||||
var size38 = buffer.readInt()
|
||||
if (size38 > 0):
|
||||
for index37 in range(size38):
|
||||
var list39 = buffer.readIntArray()
|
||||
result36.append(list39)
|
||||
result33.append(result36)
|
||||
packet.ll = result33
|
||||
var result40 = []
|
||||
var size42 = buffer.readInt()
|
||||
if (size42 > 0):
|
||||
for index41 in range(size42):
|
||||
var list43 = buffer.readPacketArray(102)
|
||||
result40.append(list43)
|
||||
packet.lll = result40
|
||||
var list44 = buffer.readStringArray()
|
||||
packet.llll = list44
|
||||
var result45 = []
|
||||
var size47 = buffer.readInt()
|
||||
if (size47 > 0):
|
||||
for index46 in range(size47):
|
||||
var map48 = buffer.readIntStringMap()
|
||||
result45.append(map48)
|
||||
packet.lllll = result45
|
||||
var map49 = buffer.readIntStringMap()
|
||||
packet.m = map49
|
||||
var map50 = buffer.readIntPacketMap(102)
|
||||
packet.mm = map50
|
||||
var result51 = {}
|
||||
var size52 = buffer.readInt()
|
||||
if (size52 > 0):
|
||||
for index53 in range(size52):
|
||||
var result54 = buffer.readPacket(102)
|
||||
var list55 = buffer.readIntArray()
|
||||
result51[result54] = list55
|
||||
packet.mmm = result51
|
||||
var result56 = {}
|
||||
var size57 = buffer.readInt()
|
||||
if (size57 > 0):
|
||||
for index58 in range(size57):
|
||||
var result59 = []
|
||||
var size61 = buffer.readInt()
|
||||
if (size61 > 0):
|
||||
for index60 in range(size61):
|
||||
var list62 = buffer.readPacketArray(102)
|
||||
result59.append(list62)
|
||||
var result63 = []
|
||||
var size65 = buffer.readInt()
|
||||
if (size65 > 0):
|
||||
for index64 in range(size65):
|
||||
var result66 = []
|
||||
var size68 = buffer.readInt()
|
||||
if (size68 > 0):
|
||||
for index67 in range(size68):
|
||||
var list69 = buffer.readIntArray()
|
||||
result66.append(list69)
|
||||
result63.append(result66)
|
||||
result56[result59] = result63
|
||||
packet.mmmm = result56
|
||||
var result70 = {}
|
||||
var size71 = buffer.readInt()
|
||||
if (size71 > 0):
|
||||
for index72 in range(size71):
|
||||
var result73 = []
|
||||
var size75 = buffer.readInt()
|
||||
if (size75 > 0):
|
||||
for index74 in range(size75):
|
||||
var map76 = buffer.readIntStringMap()
|
||||
result73.append(map76)
|
||||
var result77 = []
|
||||
var size79 = buffer.readInt()
|
||||
if (size79 > 0):
|
||||
for index78 in range(size79):
|
||||
var map80 = buffer.readIntStringMap()
|
||||
result77.append(map80)
|
||||
result70[result73] = result77
|
||||
packet.mmmmm = result70
|
||||
var set81 = buffer.readIntArray()
|
||||
packet.s = set81
|
||||
var result82 = []
|
||||
var size84 = buffer.readInt()
|
||||
if (size84 > 0):
|
||||
for index83 in range(size84):
|
||||
var result85 = []
|
||||
var size87 = buffer.readInt()
|
||||
if (size87 > 0):
|
||||
for index86 in range(size87):
|
||||
var list88 = buffer.readIntArray()
|
||||
result85.append(list88)
|
||||
result82.append(result85)
|
||||
packet.ss = result82
|
||||
var result89 = []
|
||||
var size91 = buffer.readInt()
|
||||
if (size91 > 0):
|
||||
for index90 in range(size91):
|
||||
var set92 = buffer.readPacketArray(102)
|
||||
result89.append(set92)
|
||||
packet.sss = result89
|
||||
var set93 = buffer.readStringArray()
|
||||
packet.ssss = set93
|
||||
var result94 = []
|
||||
var size96 = buffer.readInt()
|
||||
if (size96 > 0):
|
||||
for index95 in range(size96):
|
||||
var map97 = buffer.readIntStringMap()
|
||||
result94.append(map97)
|
||||
packet.sssss = result94
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result98 = buffer.readInt()
|
||||
packet.myCompatible = result98
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result99 = buffer.readPacket(102)
|
||||
packet.myObject = result99
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
@@ -1,28 +1,34 @@
|
||||
const PROTOCOL_ID = 0
|
||||
const PROTOCOL_CLASS_NAME = "EmptyObject"
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
|
||||
|
||||
|
||||
|
||||
func protocolId() -> int:
|
||||
return 0
|
||||
|
||||
func get_class_name() -> String:
|
||||
return "EmptyObject"
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{}"
|
||||
var params = []
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
static func write(buffer, packet):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
buffer.writeInt(-1)
|
||||
pass
|
||||
class EmptyObjectRegistration:
|
||||
func write(buffer: ByteBuffer, packet: Object):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
buffer.writeInt(-1)
|
||||
pass
|
||||
|
||||
static func read(buffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(PROTOCOL_ID)
|
||||
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
func read(buffer: ByteBuffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(0)
|
||||
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
@@ -1,11 +1,12 @@
|
||||
const PROTOCOL_ID = 101
|
||||
const PROTOCOL_CLASS_NAME = "NormalObject"
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
const ObjectA = preload("res://zfoogd/packet/ObjectA.gd")
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd")
|
||||
|
||||
# 常规的对象,取所有语言语法的交集,基本上所有语言都支持下面的语法
|
||||
var a: int
|
||||
var aaa: Array[int]
|
||||
var b: int
|
||||
# 整数类型
|
||||
var c: int
|
||||
var d: int
|
||||
var e: float
|
||||
@@ -24,88 +25,95 @@ var ssss: Array[String]
|
||||
var outCompatibleValue: int
|
||||
var outCompatibleValue2: int
|
||||
|
||||
func protocolId() -> int:
|
||||
return 101
|
||||
|
||||
func get_class_name() -> String:
|
||||
return "NormalObject"
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{a:{}, aaa:{}, b:{}, c:{}, d:{}, e:{}, f:{}, g:{}, jj:'{}', kk:{}, l:{}, ll:{}, lll:{}, llll:{}, m:{}, mm:{}, s:{}, ssss:{}, outCompatibleValue:{}, outCompatibleValue2:{}}"
|
||||
var params = [self.a, JSON.stringify(self.aaa), self.b, self.c, self.d, self.e, self.f, self.g, self.jj, self.kk, JSON.stringify(self.l), JSON.stringify(self.ll), JSON.stringify(self.lll), JSON.stringify(self.llll), JSON.stringify(self.m), JSON.stringify(self.mm), JSON.stringify(self.s), JSON.stringify(self.ssss), self.outCompatibleValue, self.outCompatibleValue2]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
static func write(buffer, packet):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(857)
|
||||
buffer.writeByte(packet.a)
|
||||
buffer.writeByteArray(packet.aaa)
|
||||
buffer.writeShort(packet.b)
|
||||
buffer.writeInt(packet.c)
|
||||
buffer.writeLong(packet.d)
|
||||
buffer.writeFloat(packet.e)
|
||||
buffer.writeDouble(packet.f)
|
||||
buffer.writeBool(packet.g)
|
||||
buffer.writeString(packet.jj)
|
||||
buffer.writePacket(packet.kk, 102)
|
||||
buffer.writeIntArray(packet.l)
|
||||
buffer.writeLongArray(packet.ll)
|
||||
buffer.writePacketArray(packet.lll, 102)
|
||||
buffer.writeStringArray(packet.llll)
|
||||
buffer.writeIntStringMap(packet.m)
|
||||
buffer.writeIntPacketMap(packet.mm, 102)
|
||||
buffer.writeIntArray(packet.s)
|
||||
buffer.writeStringArray(packet.ssss)
|
||||
buffer.writeInt(packet.outCompatibleValue)
|
||||
buffer.writeInt(packet.outCompatibleValue2)
|
||||
buffer.adjustPadding(857, beforeWriteIndex)
|
||||
pass
|
||||
class NormalObjectRegistration:
|
||||
func write(buffer: ByteBuffer, packet: Object):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(857)
|
||||
buffer.writeByte(packet.a)
|
||||
buffer.writeByteArray(packet.aaa)
|
||||
buffer.writeShort(packet.b)
|
||||
buffer.writeInt(packet.c)
|
||||
buffer.writeLong(packet.d)
|
||||
buffer.writeFloat(packet.e)
|
||||
buffer.writeDouble(packet.f)
|
||||
buffer.writeBool(packet.g)
|
||||
buffer.writeString(packet.jj)
|
||||
buffer.writePacket(packet.kk, 102)
|
||||
buffer.writeIntArray(packet.l)
|
||||
buffer.writeLongArray(packet.ll)
|
||||
buffer.writePacketArray(packet.lll, 102)
|
||||
buffer.writeStringArray(packet.llll)
|
||||
buffer.writeIntStringMap(packet.m)
|
||||
buffer.writeIntPacketMap(packet.mm, 102)
|
||||
buffer.writeIntArray(packet.s)
|
||||
buffer.writeStringArray(packet.ssss)
|
||||
buffer.writeInt(packet.outCompatibleValue)
|
||||
buffer.writeInt(packet.outCompatibleValue2)
|
||||
buffer.adjustPadding(857, beforeWriteIndex)
|
||||
pass
|
||||
|
||||
static func read(buffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(PROTOCOL_ID)
|
||||
var result0 = buffer.readByte()
|
||||
packet.a = result0
|
||||
var array1 = buffer.readByteArray()
|
||||
packet.aaa = array1
|
||||
var result2 = buffer.readShort()
|
||||
packet.b = result2
|
||||
var result3 = buffer.readInt()
|
||||
packet.c = result3
|
||||
var result4 = buffer.readLong()
|
||||
packet.d = result4
|
||||
var result5 = buffer.readFloat()
|
||||
packet.e = result5
|
||||
var result6 = buffer.readDouble()
|
||||
packet.f = result6
|
||||
var result7 = buffer.readBool()
|
||||
packet.g = result7
|
||||
var result8 = buffer.readString()
|
||||
packet.jj = result8
|
||||
var result9 = buffer.readPacket(102)
|
||||
packet.kk = result9
|
||||
var list10 = buffer.readIntArray()
|
||||
packet.l = list10
|
||||
var list11 = buffer.readLongArray()
|
||||
packet.ll = list11
|
||||
var list12 = buffer.readPacketArray(102)
|
||||
packet.lll = list12
|
||||
var list13 = buffer.readStringArray()
|
||||
packet.llll = list13
|
||||
var map14 = buffer.readIntStringMap()
|
||||
packet.m = map14
|
||||
var map15 = buffer.readIntPacketMap(102)
|
||||
packet.mm = map15
|
||||
var set16 = buffer.readIntArray()
|
||||
packet.s = set16
|
||||
var set17 = buffer.readStringArray()
|
||||
packet.ssss = set17
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result18 = buffer.readInt()
|
||||
packet.outCompatibleValue = result18;
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result19 = buffer.readInt()
|
||||
packet.outCompatibleValue2 = result19;
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
func read(buffer: ByteBuffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(101)
|
||||
var result0 = buffer.readByte()
|
||||
packet.a = result0
|
||||
var array1 = buffer.readByteArray()
|
||||
packet.aaa = array1
|
||||
var result2 = buffer.readShort()
|
||||
packet.b = result2
|
||||
var result3 = buffer.readInt()
|
||||
packet.c = result3
|
||||
var result4 = buffer.readLong()
|
||||
packet.d = result4
|
||||
var result5 = buffer.readFloat()
|
||||
packet.e = result5
|
||||
var result6 = buffer.readDouble()
|
||||
packet.f = result6
|
||||
var result7 = buffer.readBool()
|
||||
packet.g = result7
|
||||
var result8 = buffer.readString()
|
||||
packet.jj = result8
|
||||
var result9 = buffer.readPacket(102)
|
||||
packet.kk = result9
|
||||
var list10 = buffer.readIntArray()
|
||||
packet.l = list10
|
||||
var list11 = buffer.readLongArray()
|
||||
packet.ll = list11
|
||||
var list12 = buffer.readPacketArray(102)
|
||||
packet.lll = list12
|
||||
var list13 = buffer.readStringArray()
|
||||
packet.llll = list13
|
||||
var map14 = buffer.readIntStringMap()
|
||||
packet.m = map14
|
||||
var map15 = buffer.readIntPacketMap(102)
|
||||
packet.mm = map15
|
||||
var set16 = buffer.readIntArray()
|
||||
packet.s = set16
|
||||
var set17 = buffer.readStringArray()
|
||||
packet.ssss = set17
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result18 = buffer.readInt()
|
||||
packet.outCompatibleValue = result18
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result19 = buffer.readInt()
|
||||
packet.outCompatibleValue2 = result19
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
@@ -1,45 +1,52 @@
|
||||
const PROTOCOL_ID = 102
|
||||
const PROTOCOL_CLASS_NAME = "ObjectA"
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
const ObjectB = preload("res://zfoogd/packet/ObjectB.gd")
|
||||
|
||||
|
||||
var a: int
|
||||
var m: Dictionary # Map<number, string>
|
||||
var objectB: ObjectB
|
||||
var innerCompatibleValue: int
|
||||
|
||||
func protocolId() -> int:
|
||||
return 102
|
||||
|
||||
func get_class_name() -> String:
|
||||
return "ObjectA"
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{a:{}, m:{}, objectB:{}, innerCompatibleValue:{}}"
|
||||
var params = [self.a, JSON.stringify(self.m), self.objectB, self.innerCompatibleValue]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
static func write(buffer, packet):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(201)
|
||||
buffer.writeInt(packet.a)
|
||||
buffer.writeIntStringMap(packet.m)
|
||||
buffer.writePacket(packet.objectB, 103)
|
||||
buffer.writeInt(packet.innerCompatibleValue)
|
||||
buffer.adjustPadding(201, beforeWriteIndex)
|
||||
pass
|
||||
class ObjectARegistration:
|
||||
func write(buffer: ByteBuffer, packet: Object):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(201)
|
||||
buffer.writeInt(packet.a)
|
||||
buffer.writeIntStringMap(packet.m)
|
||||
buffer.writePacket(packet.objectB, 103)
|
||||
buffer.writeInt(packet.innerCompatibleValue)
|
||||
buffer.adjustPadding(201, beforeWriteIndex)
|
||||
pass
|
||||
|
||||
static func read(buffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(PROTOCOL_ID)
|
||||
var result0 = buffer.readInt()
|
||||
packet.a = result0
|
||||
var map1 = buffer.readIntStringMap()
|
||||
packet.m = map1
|
||||
var result2 = buffer.readPacket(103)
|
||||
packet.objectB = result2
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result3 = buffer.readInt()
|
||||
packet.innerCompatibleValue = result3;
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
func read(buffer: ByteBuffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(102)
|
||||
var result0 = buffer.readInt()
|
||||
packet.a = result0
|
||||
var map1 = buffer.readIntStringMap()
|
||||
packet.m = map1
|
||||
var result2 = buffer.readPacket(103)
|
||||
packet.objectB = result2
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result3 = buffer.readInt()
|
||||
packet.innerCompatibleValue = result3
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
@@ -1,37 +1,43 @@
|
||||
const PROTOCOL_ID = 103
|
||||
const PROTOCOL_CLASS_NAME = "ObjectB"
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
|
||||
|
||||
var flag: bool
|
||||
var innerCompatibleValue: int
|
||||
|
||||
func protocolId() -> int:
|
||||
return 103
|
||||
|
||||
func get_class_name() -> String:
|
||||
return "ObjectB"
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{flag:{}, innerCompatibleValue:{}}"
|
||||
var params = [self.flag, self.innerCompatibleValue]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
static func write(buffer, packet):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(4)
|
||||
buffer.writeBool(packet.flag)
|
||||
buffer.writeInt(packet.innerCompatibleValue)
|
||||
buffer.adjustPadding(4, beforeWriteIndex)
|
||||
pass
|
||||
class ObjectBRegistration:
|
||||
func write(buffer: ByteBuffer, packet: Object):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
var beforeWriteIndex = buffer.getWriteOffset()
|
||||
buffer.writeInt(4)
|
||||
buffer.writeBool(packet.flag)
|
||||
buffer.writeInt(packet.innerCompatibleValue)
|
||||
buffer.adjustPadding(4, beforeWriteIndex)
|
||||
pass
|
||||
|
||||
static func read(buffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(PROTOCOL_ID)
|
||||
var result0 = buffer.readBool()
|
||||
packet.flag = result0
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result1 = buffer.readInt()
|
||||
packet.innerCompatibleValue = result1;
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
func read(buffer: ByteBuffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(103)
|
||||
var result0 = buffer.readBool()
|
||||
packet.flag = result0
|
||||
if buffer.compatibleRead(beforeReadIndex, length):
|
||||
var result1 = buffer.readInt()
|
||||
packet.innerCompatibleValue = result1
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
@@ -1,34 +1,40 @@
|
||||
const PROTOCOL_ID = 104
|
||||
const PROTOCOL_CLASS_NAME = "SimpleObject"
|
||||
const ByteBuffer = preload("res://zfoogd/ByteBuffer.gd")
|
||||
|
||||
|
||||
var c: int
|
||||
var g: bool
|
||||
|
||||
func protocolId() -> int:
|
||||
return 104
|
||||
|
||||
func get_class_name() -> String:
|
||||
return "SimpleObject"
|
||||
|
||||
func _to_string() -> String:
|
||||
const jsonTemplate = "{c:{}, g:{}}"
|
||||
var params = [self.c, self.g]
|
||||
return jsonTemplate.format(params, "{}")
|
||||
|
||||
static func write(buffer, packet):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
buffer.writeInt(-1)
|
||||
buffer.writeInt(packet.c)
|
||||
buffer.writeBool(packet.g)
|
||||
pass
|
||||
class SimpleObjectRegistration:
|
||||
func write(buffer: ByteBuffer, packet: Object):
|
||||
if (packet == null):
|
||||
buffer.writeInt(0)
|
||||
return
|
||||
buffer.writeInt(-1)
|
||||
buffer.writeInt(packet.c)
|
||||
buffer.writeBool(packet.g)
|
||||
pass
|
||||
|
||||
static func read(buffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(PROTOCOL_ID)
|
||||
var result0 = buffer.readInt()
|
||||
packet.c = result0
|
||||
var result1 = buffer.readBool()
|
||||
packet.g = result1
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
func read(buffer: ByteBuffer):
|
||||
var length = buffer.readInt()
|
||||
if (length == 0):
|
||||
return null
|
||||
var beforeReadIndex = buffer.getReadOffset()
|
||||
var packet = buffer.newInstance(104)
|
||||
var result0 = buffer.readInt()
|
||||
packet.c = result0
|
||||
var result1 = buffer.readBool()
|
||||
packet.g = result1
|
||||
if (length > 0):
|
||||
buffer.setReadOffset(beforeReadIndex + length)
|
||||
return packet
|
||||
File diff suppressed because one or more lines are too long
@@ -133,11 +133,11 @@ func packetTest() {
|
||||
buffer.WriteUBytes(bytes)
|
||||
var packet = zfoogo.Read(buffer)
|
||||
fmt.Println(packet)
|
||||
fmt.Println("source size ", buffer.WriteOffset())
|
||||
fmt.Println("source size ", buffer.GetWriteOffset())
|
||||
|
||||
buffer.Clear()
|
||||
zfoogo.Write(buffer, packet)
|
||||
var newPacket = zfoogo.Read(buffer)
|
||||
fmt.Println("target size ", buffer.WriteOffset())
|
||||
fmt.Println("target size ", buffer.GetWriteOffset())
|
||||
fmt.Println(newPacket)
|
||||
}
|
||||
|
||||
@@ -13,14 +13,14 @@ const maxSize int = 655537
|
||||
var initArray []byte = make([]byte, initSize, initSize)
|
||||
|
||||
type ByteBuffer struct {
|
||||
buffer []byte
|
||||
writeIndex int
|
||||
readIndex int
|
||||
buffer []byte
|
||||
writeOffset int
|
||||
readOffset int
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) AdjustPadding(predictionLength int, beforeWriteIndex int) {
|
||||
// 因为写入的是可变长的int,如果预留的位置过多,则清除多余的位置
|
||||
var currentWriteIndex = byteBuffer.WriteOffset()
|
||||
var currentWriteIndex = byteBuffer.GetWriteOffset()
|
||||
var predictionCount = byteBuffer.WriteIntCount(int32(predictionLength))
|
||||
var length = currentWriteIndex - beforeWriteIndex - predictionCount
|
||||
var lengthCount = byteBuffer.WriteIntCount(int32(length))
|
||||
@@ -38,44 +38,48 @@ func (byteBuffer *ByteBuffer) AdjustPadding(predictionLength int, beforeWriteInd
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) CompatibleRead(beforeReadIndex int, length int) bool {
|
||||
return length != -1 && byteBuffer.readIndex < length+beforeReadIndex
|
||||
return length != -1 && byteBuffer.readOffset < length+beforeReadIndex
|
||||
}
|
||||
|
||||
// -------------------------------------------------get/set-------------------------------------------------
|
||||
func (byteBuffer *ByteBuffer) WriteOffset() int {
|
||||
return byteBuffer.writeIndex
|
||||
func (byteBuffer *ByteBuffer) GetBuffer() []byte {
|
||||
return byteBuffer.buffer
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) GetWriteOffset() int {
|
||||
return byteBuffer.writeOffset
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) SetWriteOffset(writeIndex int) {
|
||||
if writeIndex > len(byteBuffer.buffer) {
|
||||
var error = fmt.Sprintf("writeIndex:[{%d}] out of bounds exception: readerIndex:[{%d}] , writerIndex:[{%d}] (expected: 0 <= readerIndex <= writerIndex <= capacity:[{%d}])", writeIndex, byteBuffer.readIndex, byteBuffer.writeIndex, len(byteBuffer.buffer))
|
||||
var error = fmt.Sprintf("writeIndex:[{%d}] out of bounds exception: readOffset:[{%d}] , writeOffset:[{%d}] (expected: 0 <= readOffset <= writeOffset <= capacity:[{%d}])", writeIndex, byteBuffer.readOffset, byteBuffer.writeOffset, len(byteBuffer.buffer))
|
||||
panic(error)
|
||||
}
|
||||
byteBuffer.writeIndex = writeIndex
|
||||
byteBuffer.writeOffset = writeIndex
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ReadOffset() int {
|
||||
return byteBuffer.readIndex
|
||||
func (byteBuffer *ByteBuffer) GetReadOffset() int {
|
||||
return byteBuffer.readOffset
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) SetReadOffset(readIndex int) {
|
||||
if readIndex > byteBuffer.writeIndex {
|
||||
var error = fmt.Sprintf("readIndex:[{%d}] out of bounds exception: readerIndex:[{%d}] , writerIndex:[{%d}] (expected: 0 <= readerIndex <= writerIndex <= capacity:[{%d}])", readIndex, byteBuffer.readIndex, byteBuffer.writeIndex, len(byteBuffer.buffer))
|
||||
if readIndex > byteBuffer.writeOffset {
|
||||
var error = fmt.Sprintf("readIndex:[{%d}] out of bounds exception: readOffset:[{%d}] , writeOffset:[{%d}] (expected: 0 <= readOffset <= writeOffset <= capacity:[{%d}])", readIndex, byteBuffer.readOffset, byteBuffer.writeOffset, len(byteBuffer.buffer))
|
||||
panic(error)
|
||||
}
|
||||
byteBuffer.readIndex = readIndex
|
||||
byteBuffer.readOffset = readIndex
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ToBytes() []byte {
|
||||
return byteBuffer.buffer[0:byteBuffer.writeIndex]
|
||||
return byteBuffer.buffer[0:byteBuffer.writeOffset]
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ToString() string {
|
||||
return fmt.Sprintf("writeIndex:[{%d}], readIndex:[{%d}], len:[{%d}], cap:[{%d}]", byteBuffer.writeIndex, byteBuffer.readIndex, len(byteBuffer.buffer), cap(byteBuffer.buffer))
|
||||
return fmt.Sprintf("writeOffset:[{%d}], readOffset:[{%d}], len:[{%d}], cap:[{%d}]", byteBuffer.writeOffset, byteBuffer.readOffset, len(byteBuffer.buffer), cap(byteBuffer.buffer))
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) GetCapacity() int {
|
||||
return len(byteBuffer.buffer) - byteBuffer.writeIndex
|
||||
return len(byteBuffer.buffer) - byteBuffer.writeOffset
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) EnsureCapacity(capacity int) {
|
||||
@@ -93,12 +97,12 @@ func (byteBuffer *ByteBuffer) EnsureCapacity(capacity int) {
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) Clear() {
|
||||
byteBuffer.writeIndex = 0
|
||||
byteBuffer.readIndex = 0
|
||||
byteBuffer.writeOffset = 0
|
||||
byteBuffer.readOffset = 0
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) IsReadable() bool {
|
||||
return byteBuffer.writeIndex > byteBuffer.readIndex
|
||||
return byteBuffer.writeOffset > byteBuffer.readOffset
|
||||
}
|
||||
|
||||
// -------------------------------------------------write/read-------------------------------------------------
|
||||
@@ -122,55 +126,55 @@ func BytesToInt(b []byte) int {
|
||||
func (byteBuffer *ByteBuffer) WriteBool(value bool) {
|
||||
byteBuffer.EnsureCapacity(1)
|
||||
if value {
|
||||
byteBuffer.buffer[byteBuffer.writeIndex] = 1
|
||||
byteBuffer.buffer[byteBuffer.writeOffset] = 1
|
||||
} else {
|
||||
byteBuffer.buffer[byteBuffer.writeIndex] = 0
|
||||
byteBuffer.buffer[byteBuffer.writeOffset] = 0
|
||||
}
|
||||
byteBuffer.writeIndex++
|
||||
byteBuffer.writeOffset++
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ReadBool() bool {
|
||||
var byteValue = byteBuffer.buffer[byteBuffer.readIndex]
|
||||
byteBuffer.readIndex++
|
||||
var byteValue = byteBuffer.buffer[byteBuffer.readOffset]
|
||||
byteBuffer.readOffset++
|
||||
return byteValue == 1
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) WriteByte(value int8) {
|
||||
byteBuffer.EnsureCapacity(1)
|
||||
byteBuffer.buffer[byteBuffer.writeIndex] = byte(value)
|
||||
byteBuffer.writeIndex++
|
||||
byteBuffer.buffer[byteBuffer.writeOffset] = byte(value)
|
||||
byteBuffer.writeOffset++
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ReadByte() int8 {
|
||||
var byteValue = byteBuffer.buffer[byteBuffer.readIndex]
|
||||
byteBuffer.readIndex++
|
||||
var byteValue = byteBuffer.buffer[byteBuffer.readOffset]
|
||||
byteBuffer.readOffset++
|
||||
return int8(byteValue)
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) WriteUByte(value byte) {
|
||||
byteBuffer.EnsureCapacity(1)
|
||||
byteBuffer.buffer[byteBuffer.writeIndex] = value
|
||||
byteBuffer.writeIndex++
|
||||
byteBuffer.buffer[byteBuffer.writeOffset] = value
|
||||
byteBuffer.writeOffset++
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ReadUByte() byte {
|
||||
var byteValue = byteBuffer.buffer[byteBuffer.readIndex]
|
||||
byteBuffer.readIndex++
|
||||
var byteValue = byteBuffer.buffer[byteBuffer.readOffset]
|
||||
byteBuffer.readOffset++
|
||||
return byteValue
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) WriteUBytes(bytes []byte) {
|
||||
var length = len(bytes)
|
||||
byteBuffer.EnsureCapacity(length)
|
||||
copy(byteBuffer.buffer[byteBuffer.writeIndex:], bytes)
|
||||
byteBuffer.writeIndex += length
|
||||
copy(byteBuffer.buffer[byteBuffer.writeOffset:], bytes)
|
||||
byteBuffer.writeOffset += length
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ReadUBytes(length int) []byte {
|
||||
var readOffset = byteBuffer.readIndex
|
||||
var endOffset = byteBuffer.readIndex + length
|
||||
var readOffset = byteBuffer.readOffset
|
||||
var endOffset = byteBuffer.readOffset + length
|
||||
var bytes = byteBuffer.buffer[readOffset:endOffset]
|
||||
byteBuffer.readIndex += length
|
||||
byteBuffer.readOffset += length
|
||||
return bytes
|
||||
}
|
||||
|
||||
@@ -514,7 +518,7 @@ func Read(buffer *ByteBuffer) any {
|
||||
}
|
||||
|
||||
// -------------------------------------------------CutDown-------------------------------------------------
|
||||
func (byteBuffer *ByteBuffer) WriteBooleanArray(array []bool) {
|
||||
func (byteBuffer *ByteBuffer) WriteBoolArray(array []bool) {
|
||||
if array == nil {
|
||||
byteBuffer.WriteInt(0)
|
||||
} else {
|
||||
@@ -525,7 +529,7 @@ func (byteBuffer *ByteBuffer) WriteBooleanArray(array []bool) {
|
||||
}
|
||||
}
|
||||
|
||||
func (byteBuffer *ByteBuffer) ReadBooleanArray() []bool {
|
||||
func (byteBuffer *ByteBuffer) ReadBoolArray() []bool {
|
||||
var size = byteBuffer.ReadInt()
|
||||
var array = make([]bool, size)
|
||||
if size > 0 {
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package zfoogo
|
||||
|
||||
|
||||
type EmptyObject struct {
|
||||
|
||||
}
|
||||
|
||||
func (protocol EmptyObject) ProtocolId() int16 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (protocol EmptyObject) write(buffer *ByteBuffer, packet any) {
|
||||
if packet == nil {
|
||||
buffer.WriteInt(0)
|
||||
return
|
||||
}
|
||||
buffer.WriteInt(-1)
|
||||
}
|
||||
|
||||
func (protocol EmptyObject) read(buffer *ByteBuffer) any {
|
||||
var packet = new(EmptyObject)
|
||||
var length = buffer.ReadInt()
|
||||
if length == 0 {
|
||||
return packet
|
||||
}
|
||||
var beforeReadIndex = buffer.GetReadOffset()
|
||||
if length > 0 {
|
||||
buffer.SetReadOffset(beforeReadIndex + length)
|
||||
}
|
||||
return packet
|
||||
}
|
||||
+4
-155
@@ -1,14 +1,11 @@
|
||||
package zfoogo
|
||||
|
||||
|
||||
type EmptyObject struct {
|
||||
|
||||
}
|
||||
|
||||
// 常规的对象,取所有语言语法的交集,基本上所有语言都支持下面的语法
|
||||
type NormalObject struct {
|
||||
A int8
|
||||
Aaa []int8
|
||||
B int16
|
||||
// 整数类型
|
||||
C int
|
||||
D int64
|
||||
E float32
|
||||
@@ -28,47 +25,6 @@ type NormalObject struct {
|
||||
OutCompatibleValue2 int
|
||||
}
|
||||
|
||||
type ObjectA struct {
|
||||
A int
|
||||
M map[int]string
|
||||
ObjectB ObjectB
|
||||
InnerCompatibleValue int
|
||||
}
|
||||
|
||||
type ObjectB struct {
|
||||
Flag bool
|
||||
InnerCompatibleValue int
|
||||
}
|
||||
|
||||
type SimpleObject struct {
|
||||
C int
|
||||
G bool
|
||||
}
|
||||
|
||||
func (protocol EmptyObject) ProtocolId() int16 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (protocol EmptyObject) write(buffer *ByteBuffer, packet any) {
|
||||
if packet == nil {
|
||||
buffer.WriteInt(0)
|
||||
return
|
||||
}
|
||||
buffer.WriteInt(-1)
|
||||
}
|
||||
|
||||
func (protocol EmptyObject) read(buffer *ByteBuffer) any {
|
||||
var packet = new(EmptyObject)
|
||||
var length = buffer.ReadInt()
|
||||
if length == 0 {
|
||||
return packet
|
||||
}
|
||||
var beforeReadIndex = buffer.ReadOffset()
|
||||
if length > 0 {
|
||||
buffer.SetReadOffset(beforeReadIndex + length)
|
||||
}
|
||||
return packet
|
||||
}
|
||||
func (protocol NormalObject) ProtocolId() int16 {
|
||||
return 101
|
||||
}
|
||||
@@ -79,7 +35,7 @@ func (protocol NormalObject) write(buffer *ByteBuffer, packet any) {
|
||||
return
|
||||
}
|
||||
var message = packet.(*NormalObject)
|
||||
var beforeWriteIndex = buffer.WriteOffset()
|
||||
var beforeWriteIndex = buffer.GetWriteOffset()
|
||||
buffer.WriteInt(857)
|
||||
buffer.WriteByte(message.A)
|
||||
buffer.WriteByteArray(message.Aaa)
|
||||
@@ -127,7 +83,7 @@ func (protocol NormalObject) read(buffer *ByteBuffer) any {
|
||||
if length == 0 {
|
||||
return packet
|
||||
}
|
||||
var beforeReadIndex = buffer.ReadOffset()
|
||||
var beforeReadIndex = buffer.GetReadOffset()
|
||||
var result0 = buffer.ReadByte()
|
||||
packet.A = result0
|
||||
var array1 = buffer.ReadByteArray()
|
||||
@@ -191,111 +147,4 @@ func (protocol NormalObject) read(buffer *ByteBuffer) any {
|
||||
buffer.SetReadOffset(beforeReadIndex + length)
|
||||
}
|
||||
return packet
|
||||
}
|
||||
func (protocol ObjectA) ProtocolId() int16 {
|
||||
return 102
|
||||
}
|
||||
|
||||
func (protocol ObjectA) write(buffer *ByteBuffer, packet any) {
|
||||
if packet == nil {
|
||||
buffer.WriteInt(0)
|
||||
return
|
||||
}
|
||||
var message = packet.(*ObjectA)
|
||||
var beforeWriteIndex = buffer.WriteOffset()
|
||||
buffer.WriteInt(201)
|
||||
buffer.WriteInt(message.A)
|
||||
buffer.WriteIntStringMap(message.M)
|
||||
buffer.WritePacket(&message.ObjectB, 103)
|
||||
buffer.WriteInt(message.InnerCompatibleValue)
|
||||
buffer.AdjustPadding(201, beforeWriteIndex)
|
||||
}
|
||||
|
||||
func (protocol ObjectA) read(buffer *ByteBuffer) any {
|
||||
var packet = new(ObjectA)
|
||||
var length = buffer.ReadInt()
|
||||
if length == 0 {
|
||||
return packet
|
||||
}
|
||||
var beforeReadIndex = buffer.ReadOffset()
|
||||
var result0 = buffer.ReadInt()
|
||||
packet.A = result0
|
||||
var map1 = buffer.ReadIntStringMap()
|
||||
packet.M = map1
|
||||
var result2 = *buffer.ReadPacket(103).(*ObjectB)
|
||||
packet.ObjectB = result2
|
||||
if buffer.CompatibleRead(beforeReadIndex, length) {
|
||||
var result3 = buffer.ReadInt()
|
||||
packet.InnerCompatibleValue = result3
|
||||
}
|
||||
if length > 0 {
|
||||
buffer.SetReadOffset(beforeReadIndex + length)
|
||||
}
|
||||
return packet
|
||||
}
|
||||
func (protocol ObjectB) ProtocolId() int16 {
|
||||
return 103
|
||||
}
|
||||
|
||||
func (protocol ObjectB) write(buffer *ByteBuffer, packet any) {
|
||||
if packet == nil {
|
||||
buffer.WriteInt(0)
|
||||
return
|
||||
}
|
||||
var message = packet.(*ObjectB)
|
||||
var beforeWriteIndex = buffer.WriteOffset()
|
||||
buffer.WriteInt(4)
|
||||
buffer.WriteBool(message.Flag)
|
||||
buffer.WriteInt(message.InnerCompatibleValue)
|
||||
buffer.AdjustPadding(4, beforeWriteIndex)
|
||||
}
|
||||
|
||||
func (protocol ObjectB) read(buffer *ByteBuffer) any {
|
||||
var packet = new(ObjectB)
|
||||
var length = buffer.ReadInt()
|
||||
if length == 0 {
|
||||
return packet
|
||||
}
|
||||
var beforeReadIndex = buffer.ReadOffset()
|
||||
var result0 = buffer.ReadBool()
|
||||
packet.Flag = result0
|
||||
if buffer.CompatibleRead(beforeReadIndex, length) {
|
||||
var result1 = buffer.ReadInt()
|
||||
packet.InnerCompatibleValue = result1
|
||||
}
|
||||
if length > 0 {
|
||||
buffer.SetReadOffset(beforeReadIndex + length)
|
||||
}
|
||||
return packet
|
||||
}
|
||||
func (protocol SimpleObject) ProtocolId() int16 {
|
||||
return 104
|
||||
}
|
||||
|
||||
func (protocol SimpleObject) write(buffer *ByteBuffer, packet any) {
|
||||
if packet == nil {
|
||||
buffer.WriteInt(0)
|
||||
return
|
||||
}
|
||||
var message = packet.(*SimpleObject)
|
||||
buffer.WriteInt(-1)
|
||||
buffer.WriteInt(message.C)
|
||||
buffer.WriteBool(message.G)
|
||||
}
|
||||
|
||||
func (protocol SimpleObject) read(buffer *ByteBuffer) any {
|
||||
var packet = new(SimpleObject)
|
||||
var length = buffer.ReadInt()
|
||||
if length == 0 {
|
||||
return packet
|
||||
}
|
||||
var beforeReadIndex = buffer.ReadOffset()
|
||||
var result0 = buffer.ReadInt()
|
||||
packet.C = result0
|
||||
var result1 = buffer.ReadBool()
|
||||
packet.G = result1
|
||||
if length > 0 {
|
||||
buffer.SetReadOffset(beforeReadIndex + length)
|
||||
}
|
||||
return packet
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
package zfoogo
|
||||
|
||||
|
||||
type ObjectA struct {
|
||||
A int
|
||||
M map[int]string
|
||||
ObjectB ObjectB
|
||||
InnerCompatibleValue int
|
||||
}
|
||||
|
||||
func (protocol ObjectA) ProtocolId() int16 {
|
||||
return 102
|
||||
}
|
||||
|
||||
func (protocol ObjectA) write(buffer *ByteBuffer, packet any) {
|
||||
if packet == nil {
|
||||
buffer.WriteInt(0)
|
||||
return
|
||||
}
|
||||
var message = packet.(*ObjectA)
|
||||
var beforeWriteIndex = buffer.GetWriteOffset()
|
||||
buffer.WriteInt(201)
|
||||
buffer.WriteInt(message.A)
|
||||
buffer.WriteIntStringMap(message.M)
|
||||
buffer.WritePacket(&message.ObjectB, 103)
|
||||
buffer.WriteInt(message.InnerCompatibleValue)
|
||||
buffer.AdjustPadding(201, beforeWriteIndex)
|
||||
}
|
||||
|
||||
func (protocol ObjectA) read(buffer *ByteBuffer) any {
|
||||
var packet = new(ObjectA)
|
||||
var length = buffer.ReadInt()
|
||||
if length == 0 {
|
||||
return packet
|
||||
}
|
||||
var beforeReadIndex = buffer.GetReadOffset()
|
||||
var result0 = buffer.ReadInt()
|
||||
packet.A = result0
|
||||
var map1 = buffer.ReadIntStringMap()
|
||||
packet.M = map1
|
||||
var result2 = *buffer.ReadPacket(103).(*ObjectB)
|
||||
packet.ObjectB = result2
|
||||
if buffer.CompatibleRead(beforeReadIndex, length) {
|
||||
var result3 = buffer.ReadInt()
|
||||
packet.InnerCompatibleValue = result3
|
||||
}
|
||||
if length > 0 {
|
||||
buffer.SetReadOffset(beforeReadIndex + length)
|
||||
}
|
||||
return packet
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package zfoogo
|
||||
|
||||
|
||||
type ObjectB struct {
|
||||
Flag bool
|
||||
InnerCompatibleValue int
|
||||
}
|
||||
|
||||
func (protocol ObjectB) ProtocolId() int16 {
|
||||
return 103
|
||||
}
|
||||
|
||||
func (protocol ObjectB) write(buffer *ByteBuffer, packet any) {
|
||||
if packet == nil {
|
||||
buffer.WriteInt(0)
|
||||
return
|
||||
}
|
||||
var message = packet.(*ObjectB)
|
||||
var beforeWriteIndex = buffer.GetWriteOffset()
|
||||
buffer.WriteInt(4)
|
||||
buffer.WriteBool(message.Flag)
|
||||
buffer.WriteInt(message.InnerCompatibleValue)
|
||||
buffer.AdjustPadding(4, beforeWriteIndex)
|
||||
}
|
||||
|
||||
func (protocol ObjectB) read(buffer *ByteBuffer) any {
|
||||
var packet = new(ObjectB)
|
||||
var length = buffer.ReadInt()
|
||||
if length == 0 {
|
||||
return packet
|
||||
}
|
||||
var beforeReadIndex = buffer.GetReadOffset()
|
||||
var result0 = buffer.ReadBool()
|
||||
packet.Flag = result0
|
||||
if buffer.CompatibleRead(beforeReadIndex, length) {
|
||||
var result1 = buffer.ReadInt()
|
||||
packet.InnerCompatibleValue = result1
|
||||
}
|
||||
if length > 0 {
|
||||
buffer.SetReadOffset(beforeReadIndex + length)
|
||||
}
|
||||
return packet
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package zfoogo
|
||||
|
||||
|
||||
type SimpleObject struct {
|
||||
C int
|
||||
G bool
|
||||
}
|
||||
|
||||
func (protocol SimpleObject) ProtocolId() int16 {
|
||||
return 104
|
||||
}
|
||||
|
||||
func (protocol SimpleObject) write(buffer *ByteBuffer, packet any) {
|
||||
if packet == nil {
|
||||
buffer.WriteInt(0)
|
||||
return
|
||||
}
|
||||
var message = packet.(*SimpleObject)
|
||||
buffer.WriteInt(-1)
|
||||
buffer.WriteInt(message.C)
|
||||
buffer.WriteBool(message.G)
|
||||
}
|
||||
|
||||
func (protocol SimpleObject) read(buffer *ByteBuffer) any {
|
||||
var packet = new(SimpleObject)
|
||||
var length = buffer.ReadInt()
|
||||
if length == 0 {
|
||||
return packet
|
||||
}
|
||||
var beforeReadIndex = buffer.GetReadOffset()
|
||||
var result0 = buffer.ReadInt()
|
||||
packet.C = result0
|
||||
var result1 = buffer.ReadBool()
|
||||
packet.G = result1
|
||||
if length > 0 {
|
||||
buffer.SetReadOffset(beforeReadIndex + length)
|
||||
}
|
||||
return packet
|
||||
}
|
||||
@@ -40,8 +40,8 @@ class ByteBuffer {
|
||||
fun setWriteOffset(writeIndex: Int) {
|
||||
if (writeIndex > buffer.size) {
|
||||
throw RuntimeException(
|
||||
"writeIndex[" + writeIndex + "] out of bounds exception: readerIndex: " + readOffset +
|
||||
", writerIndex: " + writeOffset + "(expected: 0 <= readerIndex <= writerIndex <= capacity:" + buffer.size
|
||||
"writeIndex[" + writeIndex + "] out of bounds exception: readOffset: " + readOffset +
|
||||
", writeOffset: " + writeOffset + "(expected: 0 <= readOffset <= writeOffset <= capacity:" + buffer.size + ")"
|
||||
)
|
||||
}
|
||||
writeOffset = writeIndex
|
||||
@@ -54,8 +54,8 @@ class ByteBuffer {
|
||||
fun setReadOffset(readIndex: Int) {
|
||||
if (readIndex > writeOffset) {
|
||||
throw RuntimeException(
|
||||
"readIndex[" + readIndex + "] out of bounds exception: readerIndex: " + readOffset +
|
||||
", writerIndex: " + writeOffset + "(expected: 0 <= readerIndex <= writerIndex <= capacity:" + buffer.size
|
||||
"readIndex[" + readIndex + "] out of bounds exception: readOffset: " + readOffset +
|
||||
", writeOffset: " + writeOffset + "(expected: 0 <= readOffsetIndex <= writeOffset <= capacity:" + buffer.size + ")"
|
||||
)
|
||||
}
|
||||
readOffset = readIndex
|
||||
|
||||
@@ -52,10 +52,10 @@ end
|
||||
function byteBufferTest()
|
||||
local byteBuffer = ByteBuffer:new()
|
||||
|
||||
byteBuffer:writeBoolean(true)
|
||||
byteBuffer:writeBoolean(false)
|
||||
assert(byteBuffer:readBoolean() == true)
|
||||
assert(byteBuffer:readBoolean() == false)
|
||||
byteBuffer:writeBool(true)
|
||||
byteBuffer:writeBool(false)
|
||||
assert(byteBuffer:readBool() == true)
|
||||
assert(byteBuffer:readBool() == false)
|
||||
byteBuffer:setWriteOffset(1)
|
||||
byteBuffer:setReadOffset(1)
|
||||
|
||||
|
||||
@@ -14,8 +14,8 @@ local zeroByte = string.char(0)
|
||||
|
||||
local ByteBuffer = {}
|
||||
|
||||
local trueBooleanStrValue = string.char(1)
|
||||
local falseBooleanStrValue = string.char(0)
|
||||
local trueBoolStrValue = string.char(1)
|
||||
local falseBoolStrValue = string.char(0)
|
||||
|
||||
function serializeTableToJson(tbl)
|
||||
local res = {}
|
||||
@@ -127,15 +127,19 @@ function ByteBuffer:compatibleRead(beforeReadIndex, length)
|
||||
end
|
||||
|
||||
-------------------------------------get和set-------------------------------------
|
||||
function ByteBuffer:getBuffer()
|
||||
return self.buffer
|
||||
end
|
||||
|
||||
function ByteBuffer:getWriteOffset()
|
||||
return self.writeOffset
|
||||
end
|
||||
|
||||
function ByteBuffer:setWriteOffset(writeOffset)
|
||||
if writeOffset > #self.buffer + 1 then
|
||||
error(string.format("writeOffset: %s index out of bounds exception: readerIndex: %s, writerIndex: %s, (expected: 0 <= readerIndex <= writerIndex <= capacity: %s)", writeOffset, self.readOffset, self.writeOffset, #self.buffer))
|
||||
function ByteBuffer:setWriteOffset(writeIndex)
|
||||
if writeIndex > #self.buffer + 1 then
|
||||
error(string.format("writeIndex: %s index out of bounds exception: readOffset: %s, writerOffset: %s, (expected: 0 <= readOffset <= writeOffset <= capacity: %s)", writeIndex, self.readOffset, self.writeOffset, #self.buffer))
|
||||
end
|
||||
self.writeOffset = writeOffset
|
||||
self.writeOffset = writeIndex
|
||||
return self
|
||||
end
|
||||
|
||||
@@ -143,11 +147,11 @@ function ByteBuffer:getReadOffset()
|
||||
return self.readOffset
|
||||
end
|
||||
|
||||
function ByteBuffer:setReadOffset(readOffset)
|
||||
if readOffset > self.writeOffset then
|
||||
error(string.format("readOffset: %s index out of bounds exception: readerIndex: %s, writerIndex: %s, (expected: 0 <= readerIndex <= writerIndex <= capacity: %s)", readOffset, self.readOffset, self.writeOffset, #self.buffer))
|
||||
function ByteBuffer:setReadOffset(readIndex)
|
||||
if readIndex > self.writeOffset then
|
||||
error(string.format("readIndex: %s index out of bounds exception: readOffset: %s, writerIndex: %s, (expected: 0 <= readOffset <= writeOffset <= capacity: %s)", readIndex, self.readOffset, self.writeOffset, #self.buffer))
|
||||
end
|
||||
self.readOffset = readOffset
|
||||
self.readOffset = readIndex
|
||||
return self
|
||||
end
|
||||
|
||||
@@ -166,19 +170,19 @@ end
|
||||
-------------------------------------write和read-------------------------------------
|
||||
|
||||
--bool
|
||||
function ByteBuffer:writeBoolean(boolValue)
|
||||
function ByteBuffer:writeBool(boolValue)
|
||||
if boolValue then
|
||||
self:writeRawByteStr(trueBooleanStrValue)
|
||||
self:writeRawByteStr(trueBoolStrValue)
|
||||
else
|
||||
self:writeRawByteStr(falseBooleanStrValue)
|
||||
self:writeRawByteStr(falseBoolStrValue)
|
||||
end
|
||||
return self
|
||||
end
|
||||
|
||||
function ByteBuffer:readBoolean()
|
||||
function ByteBuffer:readBool()
|
||||
-- When char > 256, the readUByte method will show an error.
|
||||
-- So, we have to use readChar
|
||||
return self:readRawByteStr() == trueBooleanStrValue
|
||||
return self:readRawByteStr() == trueBoolStrValue
|
||||
end
|
||||
|
||||
|
||||
@@ -527,24 +531,24 @@ function ByteBuffer:readPacket(protocolId)
|
||||
return protocolRegistration:read(self)
|
||||
end
|
||||
|
||||
function ByteBuffer:writeBooleanArray(array)
|
||||
function ByteBuffer:writeBoolArray(array)
|
||||
if array == nil then
|
||||
self:writeInt(0)
|
||||
else
|
||||
self:writeInt(#array)
|
||||
for index, element in pairs(array) do
|
||||
self:writeBoolean(element)
|
||||
self:writeBool(element)
|
||||
end
|
||||
end
|
||||
return self
|
||||
end
|
||||
|
||||
function ByteBuffer:readBooleanArray()
|
||||
function ByteBuffer:readBoolArray()
|
||||
local array = {}
|
||||
local size = self:readInt()
|
||||
if size > 0 then
|
||||
for index = 1, size do
|
||||
table.insert(array, self:readBoolean())
|
||||
table.insert(array, self:readBool())
|
||||
end
|
||||
end
|
||||
return array
|
||||
|
||||
@@ -105,10 +105,10 @@ function ComplexObject:write(buffer, packet)
|
||||
buffer:writeDouble(packet.ff)
|
||||
buffer:writeDoubleArray(packet.fff)
|
||||
buffer:writeDoubleArray(packet.ffff)
|
||||
buffer:writeBoolean(packet.g)
|
||||
buffer:writeBoolean(packet.gg)
|
||||
buffer:writeBooleanArray(packet.ggg)
|
||||
buffer:writeBooleanArray(packet.gggg)
|
||||
buffer:writeBool(packet.g)
|
||||
buffer:writeBool(packet.gg)
|
||||
buffer:writeBoolArray(packet.ggg)
|
||||
buffer:writeBoolArray(packet.gggg)
|
||||
buffer:writeString(packet.jj)
|
||||
buffer:writeStringArray(packet.jjj)
|
||||
buffer:writePacket(packet.kk, 102)
|
||||
@@ -303,13 +303,13 @@ function ComplexObject:read(buffer)
|
||||
packet.fff = array22
|
||||
local array23 = buffer:readDoubleArray()
|
||||
packet.ffff = array23
|
||||
local result24 = buffer:readBoolean()
|
||||
local result24 = buffer:readBool()
|
||||
packet.g = result24
|
||||
local result25 = buffer:readBoolean()
|
||||
local result25 = buffer:readBool()
|
||||
packet.gg = result25
|
||||
local array26 = buffer:readBooleanArray()
|
||||
local array26 = buffer:readBoolArray()
|
||||
packet.ggg = array26
|
||||
local array27 = buffer:readBooleanArray()
|
||||
local array27 = buffer:readBoolArray()
|
||||
packet.gggg = array27
|
||||
local result28 = buffer:readString()
|
||||
packet.jj = result28
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
-- 常规的对象,取所有语言语法的交集,基本上所有语言都支持下面的语法
|
||||
local NormalObject = {}
|
||||
|
||||
function NormalObject:new()
|
||||
@@ -6,6 +6,7 @@ function NormalObject:new()
|
||||
a = 0, -- byte
|
||||
aaa = {}, -- byte[]
|
||||
b = 0, -- short
|
||||
-- 整数类型
|
||||
c = 0, -- int
|
||||
d = 0, -- long
|
||||
e = 0, -- float
|
||||
@@ -20,7 +21,9 @@ function NormalObject:new()
|
||||
m = {}, -- Dictionary<int, string>
|
||||
mm = {}, -- Dictionary<int, ObjectA>
|
||||
s = {}, -- HashSet<int>
|
||||
ssss = {} -- HashSet<string>
|
||||
ssss = {}, -- HashSet<string>
|
||||
outCompatibleValue = 0, -- int
|
||||
outCompatibleValue2 = 0 -- int
|
||||
}
|
||||
setmetatable(obj, self)
|
||||
self.__index = self
|
||||
@@ -44,7 +47,8 @@ function NormalObject:write(buffer, packet)
|
||||
buffer:writeInt(0)
|
||||
return
|
||||
end
|
||||
buffer:writeInt(-1)
|
||||
local beforeWriteIndex = buffer:getWriteOffset()
|
||||
buffer:writeInt(857)
|
||||
buffer:writeByte(packet.a)
|
||||
buffer:writeByteArray(packet.aaa)
|
||||
buffer:writeShort(packet.b)
|
||||
@@ -52,7 +56,7 @@ function NormalObject:write(buffer, packet)
|
||||
buffer:writeLong(packet.d)
|
||||
buffer:writeFloat(packet.e)
|
||||
buffer:writeDouble(packet.f)
|
||||
buffer:writeBoolean(packet.g)
|
||||
buffer:writeBool(packet.g)
|
||||
buffer:writeString(packet.jj)
|
||||
buffer:writePacket(packet.kk, 102)
|
||||
buffer:writeIntArray(packet.l)
|
||||
@@ -63,6 +67,9 @@ function NormalObject:write(buffer, packet)
|
||||
buffer:writeIntPacketMap(packet.mm, 102)
|
||||
buffer:writeIntArray(packet.s)
|
||||
buffer:writeStringArray(packet.ssss)
|
||||
buffer:writeInt(packet.outCompatibleValue)
|
||||
buffer:writeInt(packet.outCompatibleValue2)
|
||||
buffer:adjustPadding(857, beforeWriteIndex)
|
||||
end
|
||||
|
||||
function NormalObject:read(buffer)
|
||||
@@ -86,7 +93,7 @@ function NormalObject:read(buffer)
|
||||
packet.e = result5
|
||||
local result6 = buffer:readDouble()
|
||||
packet.f = result6
|
||||
local result7 = buffer:readBoolean()
|
||||
local result7 = buffer:readBool()
|
||||
packet.g = result7
|
||||
local result8 = buffer:readString()
|
||||
packet.jj = result8
|
||||
@@ -108,6 +115,14 @@ function NormalObject:read(buffer)
|
||||
packet.s = set16
|
||||
local set17 = buffer:readStringArray()
|
||||
packet.ssss = set17
|
||||
if buffer:compatibleRead(beforeReadIndex, length) then
|
||||
local result18 = buffer:readInt()
|
||||
packet.outCompatibleValue = result18
|
||||
end
|
||||
if buffer:compatibleRead(beforeReadIndex, length) then
|
||||
local result19 = buffer:readInt()
|
||||
packet.outCompatibleValue2 = result19
|
||||
end
|
||||
if length > 0 then
|
||||
buffer:setReadOffset(beforeReadIndex + length)
|
||||
end
|
||||
|
||||
@@ -5,7 +5,8 @@ function ObjectA:new()
|
||||
local obj = {
|
||||
a = 0, -- int
|
||||
m = {}, -- Dictionary<int, string>
|
||||
objectB = nil -- ObjectB
|
||||
objectB = nil, -- ObjectB
|
||||
innerCompatibleValue = 0 -- int
|
||||
}
|
||||
setmetatable(obj, self)
|
||||
self.__index = self
|
||||
@@ -29,10 +30,13 @@ function ObjectA:write(buffer, packet)
|
||||
buffer:writeInt(0)
|
||||
return
|
||||
end
|
||||
buffer:writeInt(-1)
|
||||
local beforeWriteIndex = buffer:getWriteOffset()
|
||||
buffer:writeInt(201)
|
||||
buffer:writeInt(packet.a)
|
||||
buffer:writeIntStringMap(packet.m)
|
||||
buffer:writePacket(packet.objectB, 103)
|
||||
buffer:writeInt(packet.innerCompatibleValue)
|
||||
buffer:adjustPadding(201, beforeWriteIndex)
|
||||
end
|
||||
|
||||
function ObjectA:read(buffer)
|
||||
@@ -48,6 +52,10 @@ function ObjectA:read(buffer)
|
||||
packet.m = map1
|
||||
local result2 = buffer:readPacket(103)
|
||||
packet.objectB = result2
|
||||
if buffer:compatibleRead(beforeReadIndex, length) then
|
||||
local result3 = buffer:readInt()
|
||||
packet.innerCompatibleValue = result3
|
||||
end
|
||||
if length > 0 then
|
||||
buffer:setReadOffset(beforeReadIndex + length)
|
||||
end
|
||||
|
||||
@@ -3,7 +3,8 @@ local ObjectB = {}
|
||||
|
||||
function ObjectB:new()
|
||||
local obj = {
|
||||
flag = false -- bool
|
||||
flag = false, -- bool
|
||||
innerCompatibleValue = 0 -- int
|
||||
}
|
||||
setmetatable(obj, self)
|
||||
self.__index = self
|
||||
@@ -27,8 +28,11 @@ function ObjectB:write(buffer, packet)
|
||||
buffer:writeInt(0)
|
||||
return
|
||||
end
|
||||
buffer:writeInt(-1)
|
||||
buffer:writeBoolean(packet.flag)
|
||||
local beforeWriteIndex = buffer:getWriteOffset()
|
||||
buffer:writeInt(4)
|
||||
buffer:writeBool(packet.flag)
|
||||
buffer:writeInt(packet.innerCompatibleValue)
|
||||
buffer:adjustPadding(4, beforeWriteIndex)
|
||||
end
|
||||
|
||||
function ObjectB:read(buffer)
|
||||
@@ -38,8 +42,12 @@ function ObjectB:read(buffer)
|
||||
end
|
||||
local beforeReadIndex = buffer:getReadOffset()
|
||||
local packet = ObjectB:new()
|
||||
local result0 = buffer:readBoolean()
|
||||
local result0 = buffer:readBool()
|
||||
packet.flag = result0
|
||||
if buffer:compatibleRead(beforeReadIndex, length) then
|
||||
local result1 = buffer:readInt()
|
||||
packet.innerCompatibleValue = result1
|
||||
end
|
||||
if length > 0 then
|
||||
buffer:setReadOffset(beforeReadIndex + length)
|
||||
end
|
||||
|
||||
@@ -30,7 +30,7 @@ function SimpleObject:write(buffer, packet)
|
||||
end
|
||||
buffer:writeInt(-1)
|
||||
buffer:writeInt(packet.c)
|
||||
buffer:writeBoolean(packet.g)
|
||||
buffer:writeBool(packet.g)
|
||||
end
|
||||
|
||||
function SimpleObject:read(buffer)
|
||||
@@ -42,7 +42,7 @@ function SimpleObject:read(buffer)
|
||||
local packet = SimpleObject:new()
|
||||
local result0 = buffer:readInt()
|
||||
packet.c = result0
|
||||
local result1 = buffer:readBoolean()
|
||||
local result1 = buffer:readBool()
|
||||
packet.g = result1
|
||||
if length > 0 then
|
||||
buffer:setReadOffset(beforeReadIndex + length)
|
||||
|
||||
@@ -61,8 +61,8 @@ class ByteBuffer
|
||||
public function setWriteOffset(int $writeIndex): void
|
||||
{
|
||||
if ($writeIndex > strlen($this->buffer)) {
|
||||
throw new Exception("writeIndex[" . $writeIndex . "] out of bounds exception: readerIndex: " . $this->readOffset .
|
||||
", writerIndex: " . $this->writeOffset . "(expected: 0 <= readerIndex <= writerIndex <= capacity:" . strlen($this->buffer));
|
||||
throw new Exception("writeIndex[" . $writeIndex . "] out of bounds exception: readOffset: " . $this->readOffset .
|
||||
", writeOffset: " . $this->writeOffset . "(expected: 0 <= readOffset <= writeOffset <= capacity:" . strlen($this->buffer) . ")");
|
||||
}
|
||||
$this->writeOffset = $writeIndex;
|
||||
}
|
||||
@@ -78,8 +78,8 @@ class ByteBuffer
|
||||
public function setReadOffset(int $readIndex): void
|
||||
{
|
||||
if ($readIndex > $this->writeOffset) {
|
||||
throw new Exception("readIndex[" . $readIndex . "] out of bounds exception: readerIndex: " . $this->readOffset .
|
||||
", writerIndex: " . $this->writeOffset . "(expected: 0 <= readerIndex <= writerIndex <= capacity:" . strlen($this->buffer));
|
||||
throw new Exception("readIndex[" . $readIndex . "] out of bounds exception: readOffset: " . $this->readOffset .
|
||||
", writeOffset: " . $this->writeOffset . "(expected: 0 <= readOffset <= writeOffset <= capacity:" . strlen($this->buffer));
|
||||
}
|
||||
$this->readOffset = $readIndex;
|
||||
}
|
||||
|
||||
@@ -34,26 +34,29 @@ class ByteBuffer():
|
||||
def compatibleRead(self, beforeReadIndex, length):
|
||||
return length != -1 and self.getReadOffset() < length + beforeReadIndex
|
||||
|
||||
def getBuffer(self):
|
||||
return self.buffer
|
||||
|
||||
def getWriteOffset(self):
|
||||
return self.writeOffset
|
||||
|
||||
def setWriteOffset(self, writeOffset):
|
||||
if writeOffset > len(self.buffer):
|
||||
raise ValueError("index out of bounds exception:readerIndex:" + str(self.readOffset) +
|
||||
", writerIndex:" + str(self.writeOffset) +
|
||||
"(expected:0 <= readerIndex <= writerIndex <= capacity:" + str(len(self.buffer)))
|
||||
self.writeOffset = writeOffset
|
||||
def setWriteOffset(self, writeIndex):
|
||||
if writeIndex > len(self.buffer):
|
||||
raise ValueError("writeIndex out of bounds exception:readOffset:" + str(self.readOffset) +
|
||||
", writeOffset:" + str(self.writeOffset) +
|
||||
"(expected:0 <= readOffset <= writeOffset <= capacity:" + str(len(self.buffer)))
|
||||
self.writeOffset = writeIndex
|
||||
pass
|
||||
|
||||
def getReadOffset(self):
|
||||
return self.readOffset
|
||||
|
||||
def setReadOffset(self, readOffset):
|
||||
if readOffset > self.writeOffset:
|
||||
raise ValueError("index out of bounds exception:readerIndex:" + str(self.readOffset) +
|
||||
", writerIndex:" + str(self.writeOffset) +
|
||||
"(expected:0 <= readerIndex <= writerIndex <= capacity:" + str(len(self.buffer)))
|
||||
self.readOffset = readOffset
|
||||
def setReadOffset(self, readIndex):
|
||||
if readIndex > self.writeOffset:
|
||||
raise ValueError("readIndex out of bounds exception:readOffset:" + str(self.readOffset) +
|
||||
", writeOffset:" + str(self.writeOffset) +
|
||||
"(expected:0 <= readOffset <= writeOffset <= capacity:" + str(len(self.buffer)))
|
||||
self.readOffset = readIndex
|
||||
pass
|
||||
|
||||
def isReadable(self):
|
||||
@@ -362,7 +365,7 @@ class ByteBuffer():
|
||||
protocolRegistration = ProtocolManager.getProtocol(protocolId)
|
||||
return protocolRegistration.read(self)
|
||||
|
||||
def writeBooleanArray(self, array):
|
||||
def writeBoolArray(self, array):
|
||||
if array is None:
|
||||
self.writeInt(0)
|
||||
else:
|
||||
@@ -371,7 +374,7 @@ class ByteBuffer():
|
||||
self.writeBool(element)
|
||||
pass
|
||||
|
||||
def readBooleanArray(self):
|
||||
def readBoolArray(self):
|
||||
array = []
|
||||
size = self.readInt()
|
||||
if size > 0:
|
||||
@@ -755,7 +758,7 @@ class ByteBuffer():
|
||||
map[key] = value
|
||||
return map
|
||||
|
||||
def writeBooleanSet(self, value):
|
||||
def writeBoolSet(self, value):
|
||||
if value is None:
|
||||
self.writeInt(0)
|
||||
else:
|
||||
@@ -764,7 +767,7 @@ class ByteBuffer():
|
||||
self.writeBool(element)
|
||||
pass
|
||||
|
||||
def readBooleanSet(self):
|
||||
def readBoolSet(self):
|
||||
value = set()
|
||||
size = self.readInt()
|
||||
if size > 0:
|
||||
|
||||
@@ -93,8 +93,8 @@ class ComplexObjectRegistration:
|
||||
buffer.writeDoubleArray(packet.ffff)
|
||||
buffer.writeBool(packet.g)
|
||||
buffer.writeBool(packet.gg)
|
||||
buffer.writeBooleanArray(packet.ggg)
|
||||
buffer.writeBooleanArray(packet.gggg)
|
||||
buffer.writeBoolArray(packet.ggg)
|
||||
buffer.writeBoolArray(packet.gggg)
|
||||
buffer.writeString(packet.jj)
|
||||
buffer.writeStringArray(packet.jjj)
|
||||
buffer.writePacket(packet.kk, 102)
|
||||
@@ -264,9 +264,9 @@ class ComplexObjectRegistration:
|
||||
packet.g = result24
|
||||
result25 = buffer.readBool()
|
||||
packet.gg = result25
|
||||
array26 = buffer.readBooleanArray()
|
||||
array26 = buffer.readBoolArray()
|
||||
packet.ggg = array26
|
||||
array27 = buffer.readBooleanArray()
|
||||
array27 = buffer.readBoolArray()
|
||||
packet.gggg = array27
|
||||
result28 = buffer.readString()
|
||||
packet.jj = result28
|
||||
|
||||
@@ -5645,182 +5645,182 @@ class VeryBigObjectRegistration:
|
||||
buffer.writeBool(packet.gg87)
|
||||
buffer.writeBool(packet.gg88)
|
||||
buffer.writeBool(packet.gg9)
|
||||
buffer.writeBooleanArray(packet.ggg1)
|
||||
buffer.writeBooleanArray(packet.ggg10)
|
||||
buffer.writeBooleanArray(packet.ggg11)
|
||||
buffer.writeBooleanArray(packet.ggg12)
|
||||
buffer.writeBooleanArray(packet.ggg13)
|
||||
buffer.writeBooleanArray(packet.ggg14)
|
||||
buffer.writeBooleanArray(packet.ggg15)
|
||||
buffer.writeBooleanArray(packet.ggg16)
|
||||
buffer.writeBooleanArray(packet.ggg17)
|
||||
buffer.writeBooleanArray(packet.ggg18)
|
||||
buffer.writeBooleanArray(packet.ggg19)
|
||||
buffer.writeBooleanArray(packet.ggg2)
|
||||
buffer.writeBooleanArray(packet.ggg20)
|
||||
buffer.writeBooleanArray(packet.ggg21)
|
||||
buffer.writeBooleanArray(packet.ggg22)
|
||||
buffer.writeBooleanArray(packet.ggg23)
|
||||
buffer.writeBooleanArray(packet.ggg24)
|
||||
buffer.writeBooleanArray(packet.ggg25)
|
||||
buffer.writeBooleanArray(packet.ggg26)
|
||||
buffer.writeBooleanArray(packet.ggg27)
|
||||
buffer.writeBooleanArray(packet.ggg28)
|
||||
buffer.writeBooleanArray(packet.ggg29)
|
||||
buffer.writeBooleanArray(packet.ggg3)
|
||||
buffer.writeBooleanArray(packet.ggg30)
|
||||
buffer.writeBooleanArray(packet.ggg31)
|
||||
buffer.writeBooleanArray(packet.ggg32)
|
||||
buffer.writeBooleanArray(packet.ggg33)
|
||||
buffer.writeBooleanArray(packet.ggg34)
|
||||
buffer.writeBooleanArray(packet.ggg35)
|
||||
buffer.writeBooleanArray(packet.ggg36)
|
||||
buffer.writeBooleanArray(packet.ggg37)
|
||||
buffer.writeBooleanArray(packet.ggg38)
|
||||
buffer.writeBooleanArray(packet.ggg39)
|
||||
buffer.writeBooleanArray(packet.ggg4)
|
||||
buffer.writeBooleanArray(packet.ggg40)
|
||||
buffer.writeBooleanArray(packet.ggg41)
|
||||
buffer.writeBooleanArray(packet.ggg42)
|
||||
buffer.writeBooleanArray(packet.ggg43)
|
||||
buffer.writeBooleanArray(packet.ggg44)
|
||||
buffer.writeBooleanArray(packet.ggg45)
|
||||
buffer.writeBooleanArray(packet.ggg46)
|
||||
buffer.writeBooleanArray(packet.ggg47)
|
||||
buffer.writeBooleanArray(packet.ggg48)
|
||||
buffer.writeBooleanArray(packet.ggg49)
|
||||
buffer.writeBooleanArray(packet.ggg5)
|
||||
buffer.writeBooleanArray(packet.ggg50)
|
||||
buffer.writeBooleanArray(packet.ggg51)
|
||||
buffer.writeBooleanArray(packet.ggg52)
|
||||
buffer.writeBooleanArray(packet.ggg53)
|
||||
buffer.writeBooleanArray(packet.ggg54)
|
||||
buffer.writeBooleanArray(packet.ggg55)
|
||||
buffer.writeBooleanArray(packet.ggg56)
|
||||
buffer.writeBooleanArray(packet.ggg57)
|
||||
buffer.writeBooleanArray(packet.ggg58)
|
||||
buffer.writeBooleanArray(packet.ggg59)
|
||||
buffer.writeBooleanArray(packet.ggg6)
|
||||
buffer.writeBooleanArray(packet.ggg60)
|
||||
buffer.writeBooleanArray(packet.ggg61)
|
||||
buffer.writeBooleanArray(packet.ggg62)
|
||||
buffer.writeBooleanArray(packet.ggg63)
|
||||
buffer.writeBooleanArray(packet.ggg64)
|
||||
buffer.writeBooleanArray(packet.ggg65)
|
||||
buffer.writeBooleanArray(packet.ggg66)
|
||||
buffer.writeBooleanArray(packet.ggg67)
|
||||
buffer.writeBooleanArray(packet.ggg68)
|
||||
buffer.writeBooleanArray(packet.ggg69)
|
||||
buffer.writeBooleanArray(packet.ggg7)
|
||||
buffer.writeBooleanArray(packet.ggg70)
|
||||
buffer.writeBooleanArray(packet.ggg71)
|
||||
buffer.writeBooleanArray(packet.ggg72)
|
||||
buffer.writeBooleanArray(packet.ggg73)
|
||||
buffer.writeBooleanArray(packet.ggg74)
|
||||
buffer.writeBooleanArray(packet.ggg75)
|
||||
buffer.writeBooleanArray(packet.ggg76)
|
||||
buffer.writeBooleanArray(packet.ggg77)
|
||||
buffer.writeBooleanArray(packet.ggg78)
|
||||
buffer.writeBooleanArray(packet.ggg79)
|
||||
buffer.writeBooleanArray(packet.ggg8)
|
||||
buffer.writeBooleanArray(packet.ggg80)
|
||||
buffer.writeBooleanArray(packet.ggg81)
|
||||
buffer.writeBooleanArray(packet.ggg82)
|
||||
buffer.writeBooleanArray(packet.ggg83)
|
||||
buffer.writeBooleanArray(packet.ggg84)
|
||||
buffer.writeBooleanArray(packet.ggg85)
|
||||
buffer.writeBooleanArray(packet.ggg86)
|
||||
buffer.writeBooleanArray(packet.ggg87)
|
||||
buffer.writeBooleanArray(packet.ggg88)
|
||||
buffer.writeBooleanArray(packet.ggg9)
|
||||
buffer.writeBooleanArray(packet.gggg1)
|
||||
buffer.writeBooleanArray(packet.gggg10)
|
||||
buffer.writeBooleanArray(packet.gggg11)
|
||||
buffer.writeBooleanArray(packet.gggg12)
|
||||
buffer.writeBooleanArray(packet.gggg13)
|
||||
buffer.writeBooleanArray(packet.gggg14)
|
||||
buffer.writeBooleanArray(packet.gggg15)
|
||||
buffer.writeBooleanArray(packet.gggg16)
|
||||
buffer.writeBooleanArray(packet.gggg17)
|
||||
buffer.writeBooleanArray(packet.gggg18)
|
||||
buffer.writeBooleanArray(packet.gggg19)
|
||||
buffer.writeBooleanArray(packet.gggg2)
|
||||
buffer.writeBooleanArray(packet.gggg20)
|
||||
buffer.writeBooleanArray(packet.gggg21)
|
||||
buffer.writeBooleanArray(packet.gggg22)
|
||||
buffer.writeBooleanArray(packet.gggg23)
|
||||
buffer.writeBooleanArray(packet.gggg24)
|
||||
buffer.writeBooleanArray(packet.gggg25)
|
||||
buffer.writeBooleanArray(packet.gggg26)
|
||||
buffer.writeBooleanArray(packet.gggg27)
|
||||
buffer.writeBooleanArray(packet.gggg28)
|
||||
buffer.writeBooleanArray(packet.gggg29)
|
||||
buffer.writeBooleanArray(packet.gggg3)
|
||||
buffer.writeBooleanArray(packet.gggg30)
|
||||
buffer.writeBooleanArray(packet.gggg31)
|
||||
buffer.writeBooleanArray(packet.gggg32)
|
||||
buffer.writeBooleanArray(packet.gggg33)
|
||||
buffer.writeBooleanArray(packet.gggg34)
|
||||
buffer.writeBooleanArray(packet.gggg35)
|
||||
buffer.writeBooleanArray(packet.gggg36)
|
||||
buffer.writeBooleanArray(packet.gggg37)
|
||||
buffer.writeBooleanArray(packet.gggg38)
|
||||
buffer.writeBooleanArray(packet.gggg39)
|
||||
buffer.writeBooleanArray(packet.gggg4)
|
||||
buffer.writeBooleanArray(packet.gggg40)
|
||||
buffer.writeBooleanArray(packet.gggg41)
|
||||
buffer.writeBooleanArray(packet.gggg42)
|
||||
buffer.writeBooleanArray(packet.gggg43)
|
||||
buffer.writeBooleanArray(packet.gggg44)
|
||||
buffer.writeBooleanArray(packet.gggg45)
|
||||
buffer.writeBooleanArray(packet.gggg46)
|
||||
buffer.writeBooleanArray(packet.gggg47)
|
||||
buffer.writeBooleanArray(packet.gggg48)
|
||||
buffer.writeBooleanArray(packet.gggg49)
|
||||
buffer.writeBooleanArray(packet.gggg5)
|
||||
buffer.writeBooleanArray(packet.gggg50)
|
||||
buffer.writeBooleanArray(packet.gggg51)
|
||||
buffer.writeBooleanArray(packet.gggg52)
|
||||
buffer.writeBooleanArray(packet.gggg53)
|
||||
buffer.writeBooleanArray(packet.gggg54)
|
||||
buffer.writeBooleanArray(packet.gggg55)
|
||||
buffer.writeBooleanArray(packet.gggg56)
|
||||
buffer.writeBooleanArray(packet.gggg57)
|
||||
buffer.writeBooleanArray(packet.gggg58)
|
||||
buffer.writeBooleanArray(packet.gggg59)
|
||||
buffer.writeBooleanArray(packet.gggg6)
|
||||
buffer.writeBooleanArray(packet.gggg60)
|
||||
buffer.writeBooleanArray(packet.gggg61)
|
||||
buffer.writeBooleanArray(packet.gggg62)
|
||||
buffer.writeBooleanArray(packet.gggg63)
|
||||
buffer.writeBooleanArray(packet.gggg64)
|
||||
buffer.writeBooleanArray(packet.gggg65)
|
||||
buffer.writeBooleanArray(packet.gggg66)
|
||||
buffer.writeBooleanArray(packet.gggg67)
|
||||
buffer.writeBooleanArray(packet.gggg68)
|
||||
buffer.writeBooleanArray(packet.gggg69)
|
||||
buffer.writeBooleanArray(packet.gggg7)
|
||||
buffer.writeBooleanArray(packet.gggg70)
|
||||
buffer.writeBooleanArray(packet.gggg71)
|
||||
buffer.writeBooleanArray(packet.gggg72)
|
||||
buffer.writeBooleanArray(packet.gggg73)
|
||||
buffer.writeBooleanArray(packet.gggg74)
|
||||
buffer.writeBooleanArray(packet.gggg75)
|
||||
buffer.writeBooleanArray(packet.gggg76)
|
||||
buffer.writeBooleanArray(packet.gggg77)
|
||||
buffer.writeBooleanArray(packet.gggg78)
|
||||
buffer.writeBooleanArray(packet.gggg79)
|
||||
buffer.writeBooleanArray(packet.gggg8)
|
||||
buffer.writeBooleanArray(packet.gggg80)
|
||||
buffer.writeBooleanArray(packet.gggg81)
|
||||
buffer.writeBooleanArray(packet.gggg82)
|
||||
buffer.writeBooleanArray(packet.gggg83)
|
||||
buffer.writeBooleanArray(packet.gggg84)
|
||||
buffer.writeBooleanArray(packet.gggg85)
|
||||
buffer.writeBooleanArray(packet.gggg86)
|
||||
buffer.writeBooleanArray(packet.gggg87)
|
||||
buffer.writeBooleanArray(packet.gggg88)
|
||||
buffer.writeBooleanArray(packet.gggg9)
|
||||
buffer.writeBoolArray(packet.ggg1)
|
||||
buffer.writeBoolArray(packet.ggg10)
|
||||
buffer.writeBoolArray(packet.ggg11)
|
||||
buffer.writeBoolArray(packet.ggg12)
|
||||
buffer.writeBoolArray(packet.ggg13)
|
||||
buffer.writeBoolArray(packet.ggg14)
|
||||
buffer.writeBoolArray(packet.ggg15)
|
||||
buffer.writeBoolArray(packet.ggg16)
|
||||
buffer.writeBoolArray(packet.ggg17)
|
||||
buffer.writeBoolArray(packet.ggg18)
|
||||
buffer.writeBoolArray(packet.ggg19)
|
||||
buffer.writeBoolArray(packet.ggg2)
|
||||
buffer.writeBoolArray(packet.ggg20)
|
||||
buffer.writeBoolArray(packet.ggg21)
|
||||
buffer.writeBoolArray(packet.ggg22)
|
||||
buffer.writeBoolArray(packet.ggg23)
|
||||
buffer.writeBoolArray(packet.ggg24)
|
||||
buffer.writeBoolArray(packet.ggg25)
|
||||
buffer.writeBoolArray(packet.ggg26)
|
||||
buffer.writeBoolArray(packet.ggg27)
|
||||
buffer.writeBoolArray(packet.ggg28)
|
||||
buffer.writeBoolArray(packet.ggg29)
|
||||
buffer.writeBoolArray(packet.ggg3)
|
||||
buffer.writeBoolArray(packet.ggg30)
|
||||
buffer.writeBoolArray(packet.ggg31)
|
||||
buffer.writeBoolArray(packet.ggg32)
|
||||
buffer.writeBoolArray(packet.ggg33)
|
||||
buffer.writeBoolArray(packet.ggg34)
|
||||
buffer.writeBoolArray(packet.ggg35)
|
||||
buffer.writeBoolArray(packet.ggg36)
|
||||
buffer.writeBoolArray(packet.ggg37)
|
||||
buffer.writeBoolArray(packet.ggg38)
|
||||
buffer.writeBoolArray(packet.ggg39)
|
||||
buffer.writeBoolArray(packet.ggg4)
|
||||
buffer.writeBoolArray(packet.ggg40)
|
||||
buffer.writeBoolArray(packet.ggg41)
|
||||
buffer.writeBoolArray(packet.ggg42)
|
||||
buffer.writeBoolArray(packet.ggg43)
|
||||
buffer.writeBoolArray(packet.ggg44)
|
||||
buffer.writeBoolArray(packet.ggg45)
|
||||
buffer.writeBoolArray(packet.ggg46)
|
||||
buffer.writeBoolArray(packet.ggg47)
|
||||
buffer.writeBoolArray(packet.ggg48)
|
||||
buffer.writeBoolArray(packet.ggg49)
|
||||
buffer.writeBoolArray(packet.ggg5)
|
||||
buffer.writeBoolArray(packet.ggg50)
|
||||
buffer.writeBoolArray(packet.ggg51)
|
||||
buffer.writeBoolArray(packet.ggg52)
|
||||
buffer.writeBoolArray(packet.ggg53)
|
||||
buffer.writeBoolArray(packet.ggg54)
|
||||
buffer.writeBoolArray(packet.ggg55)
|
||||
buffer.writeBoolArray(packet.ggg56)
|
||||
buffer.writeBoolArray(packet.ggg57)
|
||||
buffer.writeBoolArray(packet.ggg58)
|
||||
buffer.writeBoolArray(packet.ggg59)
|
||||
buffer.writeBoolArray(packet.ggg6)
|
||||
buffer.writeBoolArray(packet.ggg60)
|
||||
buffer.writeBoolArray(packet.ggg61)
|
||||
buffer.writeBoolArray(packet.ggg62)
|
||||
buffer.writeBoolArray(packet.ggg63)
|
||||
buffer.writeBoolArray(packet.ggg64)
|
||||
buffer.writeBoolArray(packet.ggg65)
|
||||
buffer.writeBoolArray(packet.ggg66)
|
||||
buffer.writeBoolArray(packet.ggg67)
|
||||
buffer.writeBoolArray(packet.ggg68)
|
||||
buffer.writeBoolArray(packet.ggg69)
|
||||
buffer.writeBoolArray(packet.ggg7)
|
||||
buffer.writeBoolArray(packet.ggg70)
|
||||
buffer.writeBoolArray(packet.ggg71)
|
||||
buffer.writeBoolArray(packet.ggg72)
|
||||
buffer.writeBoolArray(packet.ggg73)
|
||||
buffer.writeBoolArray(packet.ggg74)
|
||||
buffer.writeBoolArray(packet.ggg75)
|
||||
buffer.writeBoolArray(packet.ggg76)
|
||||
buffer.writeBoolArray(packet.ggg77)
|
||||
buffer.writeBoolArray(packet.ggg78)
|
||||
buffer.writeBoolArray(packet.ggg79)
|
||||
buffer.writeBoolArray(packet.ggg8)
|
||||
buffer.writeBoolArray(packet.ggg80)
|
||||
buffer.writeBoolArray(packet.ggg81)
|
||||
buffer.writeBoolArray(packet.ggg82)
|
||||
buffer.writeBoolArray(packet.ggg83)
|
||||
buffer.writeBoolArray(packet.ggg84)
|
||||
buffer.writeBoolArray(packet.ggg85)
|
||||
buffer.writeBoolArray(packet.ggg86)
|
||||
buffer.writeBoolArray(packet.ggg87)
|
||||
buffer.writeBoolArray(packet.ggg88)
|
||||
buffer.writeBoolArray(packet.ggg9)
|
||||
buffer.writeBoolArray(packet.gggg1)
|
||||
buffer.writeBoolArray(packet.gggg10)
|
||||
buffer.writeBoolArray(packet.gggg11)
|
||||
buffer.writeBoolArray(packet.gggg12)
|
||||
buffer.writeBoolArray(packet.gggg13)
|
||||
buffer.writeBoolArray(packet.gggg14)
|
||||
buffer.writeBoolArray(packet.gggg15)
|
||||
buffer.writeBoolArray(packet.gggg16)
|
||||
buffer.writeBoolArray(packet.gggg17)
|
||||
buffer.writeBoolArray(packet.gggg18)
|
||||
buffer.writeBoolArray(packet.gggg19)
|
||||
buffer.writeBoolArray(packet.gggg2)
|
||||
buffer.writeBoolArray(packet.gggg20)
|
||||
buffer.writeBoolArray(packet.gggg21)
|
||||
buffer.writeBoolArray(packet.gggg22)
|
||||
buffer.writeBoolArray(packet.gggg23)
|
||||
buffer.writeBoolArray(packet.gggg24)
|
||||
buffer.writeBoolArray(packet.gggg25)
|
||||
buffer.writeBoolArray(packet.gggg26)
|
||||
buffer.writeBoolArray(packet.gggg27)
|
||||
buffer.writeBoolArray(packet.gggg28)
|
||||
buffer.writeBoolArray(packet.gggg29)
|
||||
buffer.writeBoolArray(packet.gggg3)
|
||||
buffer.writeBoolArray(packet.gggg30)
|
||||
buffer.writeBoolArray(packet.gggg31)
|
||||
buffer.writeBoolArray(packet.gggg32)
|
||||
buffer.writeBoolArray(packet.gggg33)
|
||||
buffer.writeBoolArray(packet.gggg34)
|
||||
buffer.writeBoolArray(packet.gggg35)
|
||||
buffer.writeBoolArray(packet.gggg36)
|
||||
buffer.writeBoolArray(packet.gggg37)
|
||||
buffer.writeBoolArray(packet.gggg38)
|
||||
buffer.writeBoolArray(packet.gggg39)
|
||||
buffer.writeBoolArray(packet.gggg4)
|
||||
buffer.writeBoolArray(packet.gggg40)
|
||||
buffer.writeBoolArray(packet.gggg41)
|
||||
buffer.writeBoolArray(packet.gggg42)
|
||||
buffer.writeBoolArray(packet.gggg43)
|
||||
buffer.writeBoolArray(packet.gggg44)
|
||||
buffer.writeBoolArray(packet.gggg45)
|
||||
buffer.writeBoolArray(packet.gggg46)
|
||||
buffer.writeBoolArray(packet.gggg47)
|
||||
buffer.writeBoolArray(packet.gggg48)
|
||||
buffer.writeBoolArray(packet.gggg49)
|
||||
buffer.writeBoolArray(packet.gggg5)
|
||||
buffer.writeBoolArray(packet.gggg50)
|
||||
buffer.writeBoolArray(packet.gggg51)
|
||||
buffer.writeBoolArray(packet.gggg52)
|
||||
buffer.writeBoolArray(packet.gggg53)
|
||||
buffer.writeBoolArray(packet.gggg54)
|
||||
buffer.writeBoolArray(packet.gggg55)
|
||||
buffer.writeBoolArray(packet.gggg56)
|
||||
buffer.writeBoolArray(packet.gggg57)
|
||||
buffer.writeBoolArray(packet.gggg58)
|
||||
buffer.writeBoolArray(packet.gggg59)
|
||||
buffer.writeBoolArray(packet.gggg6)
|
||||
buffer.writeBoolArray(packet.gggg60)
|
||||
buffer.writeBoolArray(packet.gggg61)
|
||||
buffer.writeBoolArray(packet.gggg62)
|
||||
buffer.writeBoolArray(packet.gggg63)
|
||||
buffer.writeBoolArray(packet.gggg64)
|
||||
buffer.writeBoolArray(packet.gggg65)
|
||||
buffer.writeBoolArray(packet.gggg66)
|
||||
buffer.writeBoolArray(packet.gggg67)
|
||||
buffer.writeBoolArray(packet.gggg68)
|
||||
buffer.writeBoolArray(packet.gggg69)
|
||||
buffer.writeBoolArray(packet.gggg7)
|
||||
buffer.writeBoolArray(packet.gggg70)
|
||||
buffer.writeBoolArray(packet.gggg71)
|
||||
buffer.writeBoolArray(packet.gggg72)
|
||||
buffer.writeBoolArray(packet.gggg73)
|
||||
buffer.writeBoolArray(packet.gggg74)
|
||||
buffer.writeBoolArray(packet.gggg75)
|
||||
buffer.writeBoolArray(packet.gggg76)
|
||||
buffer.writeBoolArray(packet.gggg77)
|
||||
buffer.writeBoolArray(packet.gggg78)
|
||||
buffer.writeBoolArray(packet.gggg79)
|
||||
buffer.writeBoolArray(packet.gggg8)
|
||||
buffer.writeBoolArray(packet.gggg80)
|
||||
buffer.writeBoolArray(packet.gggg81)
|
||||
buffer.writeBoolArray(packet.gggg82)
|
||||
buffer.writeBoolArray(packet.gggg83)
|
||||
buffer.writeBoolArray(packet.gggg84)
|
||||
buffer.writeBoolArray(packet.gggg85)
|
||||
buffer.writeBoolArray(packet.gggg86)
|
||||
buffer.writeBoolArray(packet.gggg87)
|
||||
buffer.writeBoolArray(packet.gggg88)
|
||||
buffer.writeBoolArray(packet.gggg9)
|
||||
buffer.writeString(packet.jj1)
|
||||
buffer.writeString(packet.jj10)
|
||||
buffer.writeString(packet.jj11)
|
||||
@@ -11286,357 +11286,357 @@ class VeryBigObjectRegistration:
|
||||
packet.gg88 = result2286
|
||||
result2287 = buffer.readBool()
|
||||
packet.gg9 = result2287
|
||||
array2288 = buffer.readBooleanArray()
|
||||
array2288 = buffer.readBoolArray()
|
||||
packet.ggg1 = array2288
|
||||
array2289 = buffer.readBooleanArray()
|
||||
array2289 = buffer.readBoolArray()
|
||||
packet.ggg10 = array2289
|
||||
array2290 = buffer.readBooleanArray()
|
||||
array2290 = buffer.readBoolArray()
|
||||
packet.ggg11 = array2290
|
||||
array2291 = buffer.readBooleanArray()
|
||||
array2291 = buffer.readBoolArray()
|
||||
packet.ggg12 = array2291
|
||||
array2292 = buffer.readBooleanArray()
|
||||
array2292 = buffer.readBoolArray()
|
||||
packet.ggg13 = array2292
|
||||
array2293 = buffer.readBooleanArray()
|
||||
array2293 = buffer.readBoolArray()
|
||||
packet.ggg14 = array2293
|
||||
array2294 = buffer.readBooleanArray()
|
||||
array2294 = buffer.readBoolArray()
|
||||
packet.ggg15 = array2294
|
||||
array2295 = buffer.readBooleanArray()
|
||||
array2295 = buffer.readBoolArray()
|
||||
packet.ggg16 = array2295
|
||||
array2296 = buffer.readBooleanArray()
|
||||
array2296 = buffer.readBoolArray()
|
||||
packet.ggg17 = array2296
|
||||
array2297 = buffer.readBooleanArray()
|
||||
array2297 = buffer.readBoolArray()
|
||||
packet.ggg18 = array2297
|
||||
array2298 = buffer.readBooleanArray()
|
||||
array2298 = buffer.readBoolArray()
|
||||
packet.ggg19 = array2298
|
||||
array2299 = buffer.readBooleanArray()
|
||||
array2299 = buffer.readBoolArray()
|
||||
packet.ggg2 = array2299
|
||||
array2300 = buffer.readBooleanArray()
|
||||
array2300 = buffer.readBoolArray()
|
||||
packet.ggg20 = array2300
|
||||
array2301 = buffer.readBooleanArray()
|
||||
array2301 = buffer.readBoolArray()
|
||||
packet.ggg21 = array2301
|
||||
array2302 = buffer.readBooleanArray()
|
||||
array2302 = buffer.readBoolArray()
|
||||
packet.ggg22 = array2302
|
||||
array2303 = buffer.readBooleanArray()
|
||||
array2303 = buffer.readBoolArray()
|
||||
packet.ggg23 = array2303
|
||||
array2304 = buffer.readBooleanArray()
|
||||
array2304 = buffer.readBoolArray()
|
||||
packet.ggg24 = array2304
|
||||
array2305 = buffer.readBooleanArray()
|
||||
array2305 = buffer.readBoolArray()
|
||||
packet.ggg25 = array2305
|
||||
array2306 = buffer.readBooleanArray()
|
||||
array2306 = buffer.readBoolArray()
|
||||
packet.ggg26 = array2306
|
||||
array2307 = buffer.readBooleanArray()
|
||||
array2307 = buffer.readBoolArray()
|
||||
packet.ggg27 = array2307
|
||||
array2308 = buffer.readBooleanArray()
|
||||
array2308 = buffer.readBoolArray()
|
||||
packet.ggg28 = array2308
|
||||
array2309 = buffer.readBooleanArray()
|
||||
array2309 = buffer.readBoolArray()
|
||||
packet.ggg29 = array2309
|
||||
array2310 = buffer.readBooleanArray()
|
||||
array2310 = buffer.readBoolArray()
|
||||
packet.ggg3 = array2310
|
||||
array2311 = buffer.readBooleanArray()
|
||||
array2311 = buffer.readBoolArray()
|
||||
packet.ggg30 = array2311
|
||||
array2312 = buffer.readBooleanArray()
|
||||
array2312 = buffer.readBoolArray()
|
||||
packet.ggg31 = array2312
|
||||
array2313 = buffer.readBooleanArray()
|
||||
array2313 = buffer.readBoolArray()
|
||||
packet.ggg32 = array2313
|
||||
array2314 = buffer.readBooleanArray()
|
||||
array2314 = buffer.readBoolArray()
|
||||
packet.ggg33 = array2314
|
||||
array2315 = buffer.readBooleanArray()
|
||||
array2315 = buffer.readBoolArray()
|
||||
packet.ggg34 = array2315
|
||||
array2316 = buffer.readBooleanArray()
|
||||
array2316 = buffer.readBoolArray()
|
||||
packet.ggg35 = array2316
|
||||
array2317 = buffer.readBooleanArray()
|
||||
array2317 = buffer.readBoolArray()
|
||||
packet.ggg36 = array2317
|
||||
array2318 = buffer.readBooleanArray()
|
||||
array2318 = buffer.readBoolArray()
|
||||
packet.ggg37 = array2318
|
||||
array2319 = buffer.readBooleanArray()
|
||||
array2319 = buffer.readBoolArray()
|
||||
packet.ggg38 = array2319
|
||||
array2320 = buffer.readBooleanArray()
|
||||
array2320 = buffer.readBoolArray()
|
||||
packet.ggg39 = array2320
|
||||
array2321 = buffer.readBooleanArray()
|
||||
array2321 = buffer.readBoolArray()
|
||||
packet.ggg4 = array2321
|
||||
array2322 = buffer.readBooleanArray()
|
||||
array2322 = buffer.readBoolArray()
|
||||
packet.ggg40 = array2322
|
||||
array2323 = buffer.readBooleanArray()
|
||||
array2323 = buffer.readBoolArray()
|
||||
packet.ggg41 = array2323
|
||||
array2324 = buffer.readBooleanArray()
|
||||
array2324 = buffer.readBoolArray()
|
||||
packet.ggg42 = array2324
|
||||
array2325 = buffer.readBooleanArray()
|
||||
array2325 = buffer.readBoolArray()
|
||||
packet.ggg43 = array2325
|
||||
array2326 = buffer.readBooleanArray()
|
||||
array2326 = buffer.readBoolArray()
|
||||
packet.ggg44 = array2326
|
||||
array2327 = buffer.readBooleanArray()
|
||||
array2327 = buffer.readBoolArray()
|
||||
packet.ggg45 = array2327
|
||||
array2328 = buffer.readBooleanArray()
|
||||
array2328 = buffer.readBoolArray()
|
||||
packet.ggg46 = array2328
|
||||
array2329 = buffer.readBooleanArray()
|
||||
array2329 = buffer.readBoolArray()
|
||||
packet.ggg47 = array2329
|
||||
array2330 = buffer.readBooleanArray()
|
||||
array2330 = buffer.readBoolArray()
|
||||
packet.ggg48 = array2330
|
||||
array2331 = buffer.readBooleanArray()
|
||||
array2331 = buffer.readBoolArray()
|
||||
packet.ggg49 = array2331
|
||||
array2332 = buffer.readBooleanArray()
|
||||
array2332 = buffer.readBoolArray()
|
||||
packet.ggg5 = array2332
|
||||
array2333 = buffer.readBooleanArray()
|
||||
array2333 = buffer.readBoolArray()
|
||||
packet.ggg50 = array2333
|
||||
array2334 = buffer.readBooleanArray()
|
||||
array2334 = buffer.readBoolArray()
|
||||
packet.ggg51 = array2334
|
||||
array2335 = buffer.readBooleanArray()
|
||||
array2335 = buffer.readBoolArray()
|
||||
packet.ggg52 = array2335
|
||||
array2336 = buffer.readBooleanArray()
|
||||
array2336 = buffer.readBoolArray()
|
||||
packet.ggg53 = array2336
|
||||
array2337 = buffer.readBooleanArray()
|
||||
array2337 = buffer.readBoolArray()
|
||||
packet.ggg54 = array2337
|
||||
array2338 = buffer.readBooleanArray()
|
||||
array2338 = buffer.readBoolArray()
|
||||
packet.ggg55 = array2338
|
||||
array2339 = buffer.readBooleanArray()
|
||||
array2339 = buffer.readBoolArray()
|
||||
packet.ggg56 = array2339
|
||||
array2340 = buffer.readBooleanArray()
|
||||
array2340 = buffer.readBoolArray()
|
||||
packet.ggg57 = array2340
|
||||
array2341 = buffer.readBooleanArray()
|
||||
array2341 = buffer.readBoolArray()
|
||||
packet.ggg58 = array2341
|
||||
array2342 = buffer.readBooleanArray()
|
||||
array2342 = buffer.readBoolArray()
|
||||
packet.ggg59 = array2342
|
||||
array2343 = buffer.readBooleanArray()
|
||||
array2343 = buffer.readBoolArray()
|
||||
packet.ggg6 = array2343
|
||||
array2344 = buffer.readBooleanArray()
|
||||
array2344 = buffer.readBoolArray()
|
||||
packet.ggg60 = array2344
|
||||
array2345 = buffer.readBooleanArray()
|
||||
array2345 = buffer.readBoolArray()
|
||||
packet.ggg61 = array2345
|
||||
array2346 = buffer.readBooleanArray()
|
||||
array2346 = buffer.readBoolArray()
|
||||
packet.ggg62 = array2346
|
||||
array2347 = buffer.readBooleanArray()
|
||||
array2347 = buffer.readBoolArray()
|
||||
packet.ggg63 = array2347
|
||||
array2348 = buffer.readBooleanArray()
|
||||
array2348 = buffer.readBoolArray()
|
||||
packet.ggg64 = array2348
|
||||
array2349 = buffer.readBooleanArray()
|
||||
array2349 = buffer.readBoolArray()
|
||||
packet.ggg65 = array2349
|
||||
array2350 = buffer.readBooleanArray()
|
||||
array2350 = buffer.readBoolArray()
|
||||
packet.ggg66 = array2350
|
||||
array2351 = buffer.readBooleanArray()
|
||||
array2351 = buffer.readBoolArray()
|
||||
packet.ggg67 = array2351
|
||||
array2352 = buffer.readBooleanArray()
|
||||
array2352 = buffer.readBoolArray()
|
||||
packet.ggg68 = array2352
|
||||
array2353 = buffer.readBooleanArray()
|
||||
array2353 = buffer.readBoolArray()
|
||||
packet.ggg69 = array2353
|
||||
array2354 = buffer.readBooleanArray()
|
||||
array2354 = buffer.readBoolArray()
|
||||
packet.ggg7 = array2354
|
||||
array2355 = buffer.readBooleanArray()
|
||||
array2355 = buffer.readBoolArray()
|
||||
packet.ggg70 = array2355
|
||||
array2356 = buffer.readBooleanArray()
|
||||
array2356 = buffer.readBoolArray()
|
||||
packet.ggg71 = array2356
|
||||
array2357 = buffer.readBooleanArray()
|
||||
array2357 = buffer.readBoolArray()
|
||||
packet.ggg72 = array2357
|
||||
array2358 = buffer.readBooleanArray()
|
||||
array2358 = buffer.readBoolArray()
|
||||
packet.ggg73 = array2358
|
||||
array2359 = buffer.readBooleanArray()
|
||||
array2359 = buffer.readBoolArray()
|
||||
packet.ggg74 = array2359
|
||||
array2360 = buffer.readBooleanArray()
|
||||
array2360 = buffer.readBoolArray()
|
||||
packet.ggg75 = array2360
|
||||
array2361 = buffer.readBooleanArray()
|
||||
array2361 = buffer.readBoolArray()
|
||||
packet.ggg76 = array2361
|
||||
array2362 = buffer.readBooleanArray()
|
||||
array2362 = buffer.readBoolArray()
|
||||
packet.ggg77 = array2362
|
||||
array2363 = buffer.readBooleanArray()
|
||||
array2363 = buffer.readBoolArray()
|
||||
packet.ggg78 = array2363
|
||||
array2364 = buffer.readBooleanArray()
|
||||
array2364 = buffer.readBoolArray()
|
||||
packet.ggg79 = array2364
|
||||
array2365 = buffer.readBooleanArray()
|
||||
array2365 = buffer.readBoolArray()
|
||||
packet.ggg8 = array2365
|
||||
array2366 = buffer.readBooleanArray()
|
||||
array2366 = buffer.readBoolArray()
|
||||
packet.ggg80 = array2366
|
||||
array2367 = buffer.readBooleanArray()
|
||||
array2367 = buffer.readBoolArray()
|
||||
packet.ggg81 = array2367
|
||||
array2368 = buffer.readBooleanArray()
|
||||
array2368 = buffer.readBoolArray()
|
||||
packet.ggg82 = array2368
|
||||
array2369 = buffer.readBooleanArray()
|
||||
array2369 = buffer.readBoolArray()
|
||||
packet.ggg83 = array2369
|
||||
array2370 = buffer.readBooleanArray()
|
||||
array2370 = buffer.readBoolArray()
|
||||
packet.ggg84 = array2370
|
||||
array2371 = buffer.readBooleanArray()
|
||||
array2371 = buffer.readBoolArray()
|
||||
packet.ggg85 = array2371
|
||||
array2372 = buffer.readBooleanArray()
|
||||
array2372 = buffer.readBoolArray()
|
||||
packet.ggg86 = array2372
|
||||
array2373 = buffer.readBooleanArray()
|
||||
array2373 = buffer.readBoolArray()
|
||||
packet.ggg87 = array2373
|
||||
array2374 = buffer.readBooleanArray()
|
||||
array2374 = buffer.readBoolArray()
|
||||
packet.ggg88 = array2374
|
||||
array2375 = buffer.readBooleanArray()
|
||||
array2375 = buffer.readBoolArray()
|
||||
packet.ggg9 = array2375
|
||||
array2376 = buffer.readBooleanArray()
|
||||
array2376 = buffer.readBoolArray()
|
||||
packet.gggg1 = array2376
|
||||
array2377 = buffer.readBooleanArray()
|
||||
array2377 = buffer.readBoolArray()
|
||||
packet.gggg10 = array2377
|
||||
array2378 = buffer.readBooleanArray()
|
||||
array2378 = buffer.readBoolArray()
|
||||
packet.gggg11 = array2378
|
||||
array2379 = buffer.readBooleanArray()
|
||||
array2379 = buffer.readBoolArray()
|
||||
packet.gggg12 = array2379
|
||||
array2380 = buffer.readBooleanArray()
|
||||
array2380 = buffer.readBoolArray()
|
||||
packet.gggg13 = array2380
|
||||
array2381 = buffer.readBooleanArray()
|
||||
array2381 = buffer.readBoolArray()
|
||||
packet.gggg14 = array2381
|
||||
array2382 = buffer.readBooleanArray()
|
||||
array2382 = buffer.readBoolArray()
|
||||
packet.gggg15 = array2382
|
||||
array2383 = buffer.readBooleanArray()
|
||||
array2383 = buffer.readBoolArray()
|
||||
packet.gggg16 = array2383
|
||||
array2384 = buffer.readBooleanArray()
|
||||
array2384 = buffer.readBoolArray()
|
||||
packet.gggg17 = array2384
|
||||
array2385 = buffer.readBooleanArray()
|
||||
array2385 = buffer.readBoolArray()
|
||||
packet.gggg18 = array2385
|
||||
array2386 = buffer.readBooleanArray()
|
||||
array2386 = buffer.readBoolArray()
|
||||
packet.gggg19 = array2386
|
||||
array2387 = buffer.readBooleanArray()
|
||||
array2387 = buffer.readBoolArray()
|
||||
packet.gggg2 = array2387
|
||||
array2388 = buffer.readBooleanArray()
|
||||
array2388 = buffer.readBoolArray()
|
||||
packet.gggg20 = array2388
|
||||
array2389 = buffer.readBooleanArray()
|
||||
array2389 = buffer.readBoolArray()
|
||||
packet.gggg21 = array2389
|
||||
array2390 = buffer.readBooleanArray()
|
||||
array2390 = buffer.readBoolArray()
|
||||
packet.gggg22 = array2390
|
||||
array2391 = buffer.readBooleanArray()
|
||||
array2391 = buffer.readBoolArray()
|
||||
packet.gggg23 = array2391
|
||||
array2392 = buffer.readBooleanArray()
|
||||
array2392 = buffer.readBoolArray()
|
||||
packet.gggg24 = array2392
|
||||
array2393 = buffer.readBooleanArray()
|
||||
array2393 = buffer.readBoolArray()
|
||||
packet.gggg25 = array2393
|
||||
array2394 = buffer.readBooleanArray()
|
||||
array2394 = buffer.readBoolArray()
|
||||
packet.gggg26 = array2394
|
||||
array2395 = buffer.readBooleanArray()
|
||||
array2395 = buffer.readBoolArray()
|
||||
packet.gggg27 = array2395
|
||||
array2396 = buffer.readBooleanArray()
|
||||
array2396 = buffer.readBoolArray()
|
||||
packet.gggg28 = array2396
|
||||
array2397 = buffer.readBooleanArray()
|
||||
array2397 = buffer.readBoolArray()
|
||||
packet.gggg29 = array2397
|
||||
array2398 = buffer.readBooleanArray()
|
||||
array2398 = buffer.readBoolArray()
|
||||
packet.gggg3 = array2398
|
||||
array2399 = buffer.readBooleanArray()
|
||||
array2399 = buffer.readBoolArray()
|
||||
packet.gggg30 = array2399
|
||||
array2400 = buffer.readBooleanArray()
|
||||
array2400 = buffer.readBoolArray()
|
||||
packet.gggg31 = array2400
|
||||
array2401 = buffer.readBooleanArray()
|
||||
array2401 = buffer.readBoolArray()
|
||||
packet.gggg32 = array2401
|
||||
array2402 = buffer.readBooleanArray()
|
||||
array2402 = buffer.readBoolArray()
|
||||
packet.gggg33 = array2402
|
||||
array2403 = buffer.readBooleanArray()
|
||||
array2403 = buffer.readBoolArray()
|
||||
packet.gggg34 = array2403
|
||||
array2404 = buffer.readBooleanArray()
|
||||
array2404 = buffer.readBoolArray()
|
||||
packet.gggg35 = array2404
|
||||
array2405 = buffer.readBooleanArray()
|
||||
array2405 = buffer.readBoolArray()
|
||||
packet.gggg36 = array2405
|
||||
array2406 = buffer.readBooleanArray()
|
||||
array2406 = buffer.readBoolArray()
|
||||
packet.gggg37 = array2406
|
||||
array2407 = buffer.readBooleanArray()
|
||||
array2407 = buffer.readBoolArray()
|
||||
packet.gggg38 = array2407
|
||||
array2408 = buffer.readBooleanArray()
|
||||
array2408 = buffer.readBoolArray()
|
||||
packet.gggg39 = array2408
|
||||
array2409 = buffer.readBooleanArray()
|
||||
array2409 = buffer.readBoolArray()
|
||||
packet.gggg4 = array2409
|
||||
array2410 = buffer.readBooleanArray()
|
||||
array2410 = buffer.readBoolArray()
|
||||
packet.gggg40 = array2410
|
||||
array2411 = buffer.readBooleanArray()
|
||||
array2411 = buffer.readBoolArray()
|
||||
packet.gggg41 = array2411
|
||||
array2412 = buffer.readBooleanArray()
|
||||
array2412 = buffer.readBoolArray()
|
||||
packet.gggg42 = array2412
|
||||
array2413 = buffer.readBooleanArray()
|
||||
array2413 = buffer.readBoolArray()
|
||||
packet.gggg43 = array2413
|
||||
array2414 = buffer.readBooleanArray()
|
||||
array2414 = buffer.readBoolArray()
|
||||
packet.gggg44 = array2414
|
||||
array2415 = buffer.readBooleanArray()
|
||||
array2415 = buffer.readBoolArray()
|
||||
packet.gggg45 = array2415
|
||||
array2416 = buffer.readBooleanArray()
|
||||
array2416 = buffer.readBoolArray()
|
||||
packet.gggg46 = array2416
|
||||
array2417 = buffer.readBooleanArray()
|
||||
array2417 = buffer.readBoolArray()
|
||||
packet.gggg47 = array2417
|
||||
array2418 = buffer.readBooleanArray()
|
||||
array2418 = buffer.readBoolArray()
|
||||
packet.gggg48 = array2418
|
||||
array2419 = buffer.readBooleanArray()
|
||||
array2419 = buffer.readBoolArray()
|
||||
packet.gggg49 = array2419
|
||||
array2420 = buffer.readBooleanArray()
|
||||
array2420 = buffer.readBoolArray()
|
||||
packet.gggg5 = array2420
|
||||
array2421 = buffer.readBooleanArray()
|
||||
array2421 = buffer.readBoolArray()
|
||||
packet.gggg50 = array2421
|
||||
array2422 = buffer.readBooleanArray()
|
||||
array2422 = buffer.readBoolArray()
|
||||
packet.gggg51 = array2422
|
||||
array2423 = buffer.readBooleanArray()
|
||||
array2423 = buffer.readBoolArray()
|
||||
packet.gggg52 = array2423
|
||||
array2424 = buffer.readBooleanArray()
|
||||
array2424 = buffer.readBoolArray()
|
||||
packet.gggg53 = array2424
|
||||
array2425 = buffer.readBooleanArray()
|
||||
array2425 = buffer.readBoolArray()
|
||||
packet.gggg54 = array2425
|
||||
array2426 = buffer.readBooleanArray()
|
||||
array2426 = buffer.readBoolArray()
|
||||
packet.gggg55 = array2426
|
||||
array2427 = buffer.readBooleanArray()
|
||||
array2427 = buffer.readBoolArray()
|
||||
packet.gggg56 = array2427
|
||||
array2428 = buffer.readBooleanArray()
|
||||
array2428 = buffer.readBoolArray()
|
||||
packet.gggg57 = array2428
|
||||
array2429 = buffer.readBooleanArray()
|
||||
array2429 = buffer.readBoolArray()
|
||||
packet.gggg58 = array2429
|
||||
array2430 = buffer.readBooleanArray()
|
||||
array2430 = buffer.readBoolArray()
|
||||
packet.gggg59 = array2430
|
||||
array2431 = buffer.readBooleanArray()
|
||||
array2431 = buffer.readBoolArray()
|
||||
packet.gggg6 = array2431
|
||||
array2432 = buffer.readBooleanArray()
|
||||
array2432 = buffer.readBoolArray()
|
||||
packet.gggg60 = array2432
|
||||
array2433 = buffer.readBooleanArray()
|
||||
array2433 = buffer.readBoolArray()
|
||||
packet.gggg61 = array2433
|
||||
array2434 = buffer.readBooleanArray()
|
||||
array2434 = buffer.readBoolArray()
|
||||
packet.gggg62 = array2434
|
||||
array2435 = buffer.readBooleanArray()
|
||||
array2435 = buffer.readBoolArray()
|
||||
packet.gggg63 = array2435
|
||||
array2436 = buffer.readBooleanArray()
|
||||
array2436 = buffer.readBoolArray()
|
||||
packet.gggg64 = array2436
|
||||
array2437 = buffer.readBooleanArray()
|
||||
array2437 = buffer.readBoolArray()
|
||||
packet.gggg65 = array2437
|
||||
array2438 = buffer.readBooleanArray()
|
||||
array2438 = buffer.readBoolArray()
|
||||
packet.gggg66 = array2438
|
||||
array2439 = buffer.readBooleanArray()
|
||||
array2439 = buffer.readBoolArray()
|
||||
packet.gggg67 = array2439
|
||||
array2440 = buffer.readBooleanArray()
|
||||
array2440 = buffer.readBoolArray()
|
||||
packet.gggg68 = array2440
|
||||
array2441 = buffer.readBooleanArray()
|
||||
array2441 = buffer.readBoolArray()
|
||||
packet.gggg69 = array2441
|
||||
array2442 = buffer.readBooleanArray()
|
||||
array2442 = buffer.readBoolArray()
|
||||
packet.gggg7 = array2442
|
||||
array2443 = buffer.readBooleanArray()
|
||||
array2443 = buffer.readBoolArray()
|
||||
packet.gggg70 = array2443
|
||||
array2444 = buffer.readBooleanArray()
|
||||
array2444 = buffer.readBoolArray()
|
||||
packet.gggg71 = array2444
|
||||
array2445 = buffer.readBooleanArray()
|
||||
array2445 = buffer.readBoolArray()
|
||||
packet.gggg72 = array2445
|
||||
array2446 = buffer.readBooleanArray()
|
||||
array2446 = buffer.readBoolArray()
|
||||
packet.gggg73 = array2446
|
||||
array2447 = buffer.readBooleanArray()
|
||||
array2447 = buffer.readBoolArray()
|
||||
packet.gggg74 = array2447
|
||||
array2448 = buffer.readBooleanArray()
|
||||
array2448 = buffer.readBoolArray()
|
||||
packet.gggg75 = array2448
|
||||
array2449 = buffer.readBooleanArray()
|
||||
array2449 = buffer.readBoolArray()
|
||||
packet.gggg76 = array2449
|
||||
array2450 = buffer.readBooleanArray()
|
||||
array2450 = buffer.readBoolArray()
|
||||
packet.gggg77 = array2450
|
||||
array2451 = buffer.readBooleanArray()
|
||||
array2451 = buffer.readBoolArray()
|
||||
packet.gggg78 = array2451
|
||||
array2452 = buffer.readBooleanArray()
|
||||
array2452 = buffer.readBoolArray()
|
||||
packet.gggg79 = array2452
|
||||
array2453 = buffer.readBooleanArray()
|
||||
array2453 = buffer.readBoolArray()
|
||||
packet.gggg8 = array2453
|
||||
array2454 = buffer.readBooleanArray()
|
||||
array2454 = buffer.readBoolArray()
|
||||
packet.gggg80 = array2454
|
||||
array2455 = buffer.readBooleanArray()
|
||||
array2455 = buffer.readBoolArray()
|
||||
packet.gggg81 = array2455
|
||||
array2456 = buffer.readBooleanArray()
|
||||
array2456 = buffer.readBoolArray()
|
||||
packet.gggg82 = array2456
|
||||
array2457 = buffer.readBooleanArray()
|
||||
array2457 = buffer.readBoolArray()
|
||||
packet.gggg83 = array2457
|
||||
array2458 = buffer.readBooleanArray()
|
||||
array2458 = buffer.readBoolArray()
|
||||
packet.gggg84 = array2458
|
||||
array2459 = buffer.readBooleanArray()
|
||||
array2459 = buffer.readBoolArray()
|
||||
packet.gggg85 = array2459
|
||||
array2460 = buffer.readBooleanArray()
|
||||
array2460 = buffer.readBoolArray()
|
||||
packet.gggg86 = array2460
|
||||
array2461 = buffer.readBooleanArray()
|
||||
array2461 = buffer.readBoolArray()
|
||||
packet.gggg87 = array2461
|
||||
array2462 = buffer.readBooleanArray()
|
||||
array2462 = buffer.readBoolArray()
|
||||
packet.gggg88 = array2462
|
||||
array2463 = buffer.readBooleanArray()
|
||||
array2463 = buffer.readBoolArray()
|
||||
packet.gggg9 = array2463
|
||||
result2464 = buffer.readString()
|
||||
packet.jj1 = result2464
|
||||
|
||||
@@ -43,14 +43,14 @@ class ByteBuffer {
|
||||
def getWriteOffset: Int = writeOffset
|
||||
|
||||
def setWriteOffset(writeIndex: Int): Unit = {
|
||||
if (writeIndex > buffer.length) throw new RuntimeException("writeIndex[" + writeIndex + "] out of bounds exception: readerIndex: " + readOffset + ", writerIndex: " + writeOffset + "(expected: 0 <= readerIndex <= writerIndex <= capacity:" + buffer.length)
|
||||
if (writeIndex > buffer.length) throw new RuntimeException("writeIndex[" + writeIndex + "] out of bounds exception: readOffset: " + readOffset + ", writeOffset: " + writeOffset + "(expected: 0 <= readOffset <= writeOffset <= capacity:" + buffer.length + ")")
|
||||
writeOffset = writeIndex
|
||||
}
|
||||
|
||||
def getReadOffset: Int = readOffset
|
||||
|
||||
def setReadOffset(readIndex: Int): Unit = {
|
||||
if (readIndex > writeOffset) throw new RuntimeException("readIndex[" + readIndex + "] out of bounds exception: readerIndex: " + readOffset + ", writerIndex: " + writeOffset + "(expected: 0 <= readerIndex <= writerIndex <= capacity:" + buffer.length)
|
||||
if (readIndex > writeOffset) throw new RuntimeException("readIndex[" + readIndex + "] out of bounds exception: readOffset: " + readOffset + ", writeOffset: " + writeOffset + "(expected: 0 <= readOffset <= writeOffset <= capacity:" + buffer.length + ")")
|
||||
readOffset = readIndex
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user