LINUX.ORG.RU

История изменений

Исправление beastie, (текущая версия) :

syntax = "proto3";

message ClientMessage {
	ClientMessageData data = 1;
}

message ClientMessageData {
	Vec3 position = 1;
	float yaw = 2;
	float pitch = 3;
}

message Vec3 {
	float x = 1;
	float y = 2;
	float z = 3;
}

Со всеми 5-ю параметрами выставленными в 1.0 выдаёт

0a 1b 0a 0f 0d 00 00 80 3f 15 00 00 80 3f 1d 00 00 80 3f 15 00 00 80 3f 1d 00 00 80 3f

29 байт. 5 байт (prefix 5-и значений) больше твоего идеала. Меньше, если только гонять голые floats.

А пустое сообщение (всё параметры в 0.0) вообще 0 байт.

Всё таки protobuf, asn.1 и компанию не дураки делали.

Исправление beastie, :

syntax = "proto3";

message ClientMessage {
	ClientMessageData data = 1;
}

message ClientMessageData {
	Vec3 position = 1;
	float yaw = 2;
	float pitch = 3;
}

message Vec3 {
	float x = 1;
	float y = 2;
	float z = 3;
}

Со всеми 5-ю параметрами выставленными в 1.0 выдаёт

0a 1b 0a 0f 0d 00 00 80 3f 15 00 00 80 3f 1d 00 00 80 3f 15 00 00 80 3f 1d 00 00 80 3f

29 байт. 5 байт (prefix 5-и значений) больше твоего идеала. Меньше, если только гонять голые floats.

Всё таки protobuf, asn.1 и компанию не дураки делали.

Исправление beastie, :

syntax = "proto3";

message ClientMessage {
	ClientMessageData data = 1;
}

message ClientMessageData {
	Vec3 position = 1;
	float yaw = 2;
	float pitch = 3;
}

message Vec3 {
	float x = 1;
	float y = 2;
	float z = 3;
}

Со всеми 5-ю параметрами выставленными в 1.0 выдаёт

0a 1b 0a 0f 0d 00 00 80 3f 15 00 00 80 3f 1d 00 00 80 3f 15 00 00 80 3f 1d 00 00 80 3f

29 байт. 5 байт (prefix 5-и значений) больше твоего идеала. Меньше, если только гонять голые floats.

Исправление beastie, :

syntax = "proto3";

message ClientMessage {
	ClientMessageData data = 1;
}

message ClientMessageData {
	Vec3 position = 1;
	float yaw = 2;
	float pitch = 3;
}

message Vec3 {
	float x = 1;
	float y = 2;
	float z = 3;
}

Со всеми 5-ю параметрами выставленными в 1.0 выдаёт

0a 1b 0a 0f 0d 00 00 80 3f 15 00 00 80 3f 1d 00 00 80 3f 15 00 00 80 3f 1d 00 00 80 3f

29 байт. 5 байт (prefix 5-и значений) больше твоего идеала.

Исходная версия beastie, :

syntax = "proto3";

message ClientMessage {
	ClientMessageData data = 1;
}

message ClientMessageData {
	Vec3 position = 1;
	float yaw = 2;
	float pitch = 3;
}

message Vec3 {
	float x = 1;
	float y = 2;
	float z = 3;
}

Со всеми 5-ю параметрами выставленными в 1.0 выдаёт

0a 1b 0a 0f 0d 00 00 80 3f 15 00 00 80 3f 1d 00 00 80 3f 15 00 00 80 3f 1d 00 00 80 3f

29 байт.