Isabelle's Lazy Message Protocol
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
Isabelle L. 1e8f1a37f3 rustfmt / changed message packet byte to 0xfc 5 年前
src rustfmt / changed message packet byte to 0xfc 5 年前
.gitignore initial commit 5 年前
Cargo.toml adjusted `initialize_connection` so errors aren't potentially panicking 5 年前
LICENSE initial commit 5 年前
README.md rustfmt / changed message packet byte to 0xfc 5 年前
justfile added CRC32 checksum and a justfile 5 年前

README.md

Isabelle’s Lazy Message Protocol

network packet protocol

I don’t know whether or not this is a super practical way of doing things but I’m lazy and it seems to work so gonna roll with it lol

segment size usage
1 byte u8 packet kind
1 byte u8 encrypt flag
8 byte u64 length of the packet contents
4 byte CRC32 packet contents checksum
32 byte SHA256 packet contents integrity check
u64::MAX packet contents

packet kind

packet kind has defined values for packets but leaves many open for user defined packets to be added to the protocol

byte packet kind
0x00-0xfb valid for custom packet usage
0xfc message - a simple text packet
0xfd leave - announces a disconnect
0xfe join - announces a new connection
0xff agreement - used to help generate an agreed upon key

encrypt flag

encrypt flag can be 0x00 for no encrypt or 0xff for ring AEAD symmetric encrypt