Skip to content

Commit 62050c7

Browse files
committed
Proper notes & some cleanup and fixes
1 parent 0a1c365 commit 62050c7

6 files changed

Lines changed: 20 additions & 12 deletions

File tree

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,14 @@ This project uses [semantic versioning](https://semver.org/spec/v2.0.0.html).
66

77
## version 0.3.0
88

9+
### Added
10+
- Types: Vector2, CFrame, Array, Optional, Map
11+
912
### Improvements
1013
- Rewrote client/server processing. Should drastically improve stability and performance.
14+
- Completely re-did how serialization happens to be a lot more stable, and to allow a lot of room for improvement.
15+
- Many type improvements
16+
- Removed only dependency
1117

1218
---
1319

dev.project.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55

66
"ReplicatedStorage": {
77
"Packages": {
8-
"$path": "Packages",
9-
8+
"$className": "Folder",
109
"ByteNet": {
1110
"$path": "src"
1211
}

docs/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
In ByteNet, you don't need to worry about type validation, optimization, packet structure, etc. ByteNet does all the hard parts for you! Strictly typed with an incredibly basic API that explains itself, ByteNet makes networking simple, easy, and quick.
1111
</p>
1212
<span id="linkspan">
13-
<a href="" id="link">Getting started</a>
14-
<a href="" id="link">Download</a>
13+
<a href="./api/functions/definePacket" id="link">Getting started</a>
14+
<a href="https://github.com/ffrostflame/ByteNet/releases/latest" id="link">Download</a>
1515
</span>
1616
<hr />
1717
<p>

sourcemap.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"name":"bytenet-dev","className":"DataModel","filePaths":["dev.project.json"],"children":[{"name":"ReplicatedStorage","className":"ReplicatedStorage","children":[{"name":"Packages","className":"Folder","children":[{"name":"TableKit","className":"ModuleScript","filePaths":["Packages\\TableKit.lua"]},{"name":"_Index","className":"Folder","children":[{"name":"ffrostflame_tablekit@0.2.4","className":"Folder","children":[{"name":"tablekit","className":"ModuleScript","filePaths":["Packages\\_Index\\ffrostflame_tablekit@0.2.4\\tablekit\\src\\init.luau","Packages\\_Index\\ffrostflame_tablekit@0.2.4\\tablekit\\default.project.json"]}]},{"name":"ffrostflame_wally-instance-manager@0.1.0","className":"Folder","children":[{"name":"wally-instance-manager","className":"ModuleScript","filePaths":["Packages\\_Index\\ffrostflame_wally-instance-manager@0.1.0\\wally-instance-manager\\src\\init.luau","Packages\\_Index\\ffrostflame_wally-instance-manager@0.1.0\\wally-instance-manager\\default.project.json"]}]}]},{"name":"wallyInstanceManager","className":"ModuleScript","filePaths":["Packages\\wallyInstanceManager.lua"]},{"name":"ByteNet","className":"ModuleScript","filePaths":["src\\init.luau"],"children":[{"name":"dataTypes","className":"Folder","children":[{"name":"array","className":"ModuleScript","filePaths":["src\\dataTypes\\array.luau"]},{"name":"bool","className":"ModuleScript","filePaths":["src\\dataTypes\\bool.luau"]},{"name":"buff","className":"ModuleScript","filePaths":["src\\dataTypes\\buff.luau"]},{"name":"cframe","className":"ModuleScript","filePaths":["src\\dataTypes\\cframe.luau"]},{"name":"float32","className":"ModuleScript","filePaths":["src\\dataTypes\\float32.luau"]},{"name":"float64","className":"ModuleScript","filePaths":["src\\dataTypes\\float64.luau"]},{"name":"int16","className":"ModuleScript","filePaths":["src\\dataTypes\\int16.luau"]},{"name":"int32","className":"ModuleScript","filePaths":["src\\dataTypes\\int32.luau"]},{"name":"int8","className":"ModuleScript","filePaths":["src\\dataTypes\\int8.luau"]},{"name":"map","className":"ModuleScript","filePaths":["src\\dataTypes\\map.luau"]},{"name":"optional","className":"ModuleScript","filePaths":["src\\dataTypes\\optional.luau"]},{"name":"string","className":"ModuleScript","filePaths":["src\\dataTypes\\string.luau"]},{"name":"uint16","className":"ModuleScript","filePaths":["src\\dataTypes\\uint16.luau"]},{"name":"uint32","className":"ModuleScript","filePaths":["src\\dataTypes\\uint32.luau"]},{"name":"uint8","className":"ModuleScript","filePaths":["src\\dataTypes\\uint8.luau"]},{"name":"vec2","className":"ModuleScript","filePaths":["src\\dataTypes\\vec2.luau"]},{"name":"vec3","className":"ModuleScript","filePaths":["src\\dataTypes\\vec3.luau"]}]},{"name":"packets","className":"Folder","children":[{"name":"clientPacketIDs","className":"ModuleScript","filePaths":["src\\packets\\clientPacketIDs.luau"]},{"name":"packet","className":"ModuleScript","filePaths":["src\\packets\\packet.luau"]},{"name":"serverPacketIDs","className":"ModuleScript","filePaths":["src\\packets\\serverPacketIDs.luau"]}]},{"name":"process","className":"Folder","children":[{"name":"bufferWriter","className":"ModuleScript","filePaths":["src\\process\\bufferWriter.luau"]},{"name":"client","className":"ModuleScript","filePaths":["src\\process\\client.luau"]},{"name":"read","className":"ModuleScript","filePaths":["src\\process\\read.luau"]},{"name":"server","className":"ModuleScript","filePaths":["src\\process\\server.luau"]}]},{"name":"types","className":"ModuleScript","filePaths":["src\\types.luau"]}]}]},{"name":"shared","className":"Folder","children":[{"name":"testPackets","className":"ModuleScript","filePaths":["dev/shared\\testPackets.luau"]}]}]},{"name":"ServerScriptService","className":"ServerScriptService","children":[{"name":"server","className":"Folder","children":[{"name":"serverTests","className":"Script","filePaths":["dev/server\\serverTests.server.luau"]}]}]},{"name":"StarterPlayer","className":"StarterPlayer","children":[{"name":"StarterPlayerScripts","className":"StarterPlayerScripts","children":[{"name":"clientTests","className":"LocalScript","filePaths":["dev/client\\clientTests.client.luau"]}]}]}]}
1+
{"name":"bytenet-dev","className":"DataModel","filePaths":["dev.project.json"],"children":[{"name":"ReplicatedStorage","className":"ReplicatedStorage","children":[{"name":"Packages","className":"Folder","children":[{"name":"ByteNet","className":"ModuleScript","filePaths":["src\\init.luau"],"children":[{"name":"dataTypes","className":"Folder","children":[{"name":"array","className":"ModuleScript","filePaths":["src\\dataTypes\\array.luau"]},{"name":"bool","className":"ModuleScript","filePaths":["src\\dataTypes\\bool.luau"]},{"name":"buff","className":"ModuleScript","filePaths":["src\\dataTypes\\buff.luau"]},{"name":"cframe","className":"ModuleScript","filePaths":["src\\dataTypes\\cframe.luau"]},{"name":"float32","className":"ModuleScript","filePaths":["src\\dataTypes\\float32.luau"]},{"name":"float64","className":"ModuleScript","filePaths":["src\\dataTypes\\float64.luau"]},{"name":"int16","className":"ModuleScript","filePaths":["src\\dataTypes\\int16.luau"]},{"name":"int32","className":"ModuleScript","filePaths":["src\\dataTypes\\int32.luau"]},{"name":"int8","className":"ModuleScript","filePaths":["src\\dataTypes\\int8.luau"]},{"name":"map","className":"ModuleScript","filePaths":["src\\dataTypes\\map.luau"]},{"name":"optional","className":"ModuleScript","filePaths":["src\\dataTypes\\optional.luau"]},{"name":"string","className":"ModuleScript","filePaths":["src\\dataTypes\\string.luau"]},{"name":"uint16","className":"ModuleScript","filePaths":["src\\dataTypes\\uint16.luau"]},{"name":"uint32","className":"ModuleScript","filePaths":["src\\dataTypes\\uint32.luau"]},{"name":"uint8","className":"ModuleScript","filePaths":["src\\dataTypes\\uint8.luau"]},{"name":"vec2","className":"ModuleScript","filePaths":["src\\dataTypes\\vec2.luau"]},{"name":"vec3","className":"ModuleScript","filePaths":["src\\dataTypes\\vec3.luau"]}]},{"name":"packets","className":"Folder","children":[{"name":"clientPacketIDs","className":"ModuleScript","filePaths":["src\\packets\\clientPacketIDs.luau"]},{"name":"packet","className":"ModuleScript","filePaths":["src\\packets\\packet.luau"]},{"name":"serverPacketIDs","className":"ModuleScript","filePaths":["src\\packets\\serverPacketIDs.luau"]}]},{"name":"process","className":"Folder","children":[{"name":"bufferWriter","className":"ModuleScript","filePaths":["src\\process\\bufferWriter.luau"]},{"name":"client","className":"ModuleScript","filePaths":["src\\process\\client.luau"]},{"name":"read","className":"ModuleScript","filePaths":["src\\process\\read.luau"]},{"name":"server","className":"ModuleScript","filePaths":["src\\process\\server.luau"]}]},{"name":"types","className":"ModuleScript","filePaths":["src\\types.luau"]}]}]},{"name":"shared","className":"Folder","children":[{"name":"testPackets","className":"ModuleScript","filePaths":["dev/shared\\testPackets.luau"]}]}]},{"name":"ServerScriptService","className":"ServerScriptService","children":[{"name":"server","className":"Folder","children":[{"name":"serverTests","className":"Script","filePaths":["dev/server\\serverTests.server.luau"]}]}]},{"name":"StarterPlayer","className":"StarterPlayer","children":[{"name":"StarterPlayerScripts","className":"StarterPlayerScripts","children":[{"name":"clientTests","className":"LocalScript","filePaths":["dev/client\\clientTests.client.luau"]}]}]}]}

src/process/server.luau

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,11 @@ local jobs = {}
2626

2727
local function load(freshChannel: channelData?)
2828
if not freshChannel then
29+
-- It's important to note this creates a new channel and creates a new reference
30+
-- It is the only way new channels are created
2931
cursor = 0
30-
jobs = {} -- It's important to note this creates a new channel and creates a new reference
32+
-- We assume that there's going to be at least 16 elements in the channel if it exists just to speed things up
33+
jobs = table.create(16)
3134
bufferWriter.set(jobs)
3235
return
3336
end
@@ -78,11 +81,11 @@ local function dumpLoadedChannel(): buffer
7881
-- iterate over all jobs in increments of 3, and call accordingly
7982
for index = 1, #jobs, 3 do
8083
-- We have to do this typecasting because luau doesn't have tuple tables yet
81-
(jobs[index] :: (b: buffer, cursor: number, value: any) -> ())(
82-
dumpBuffer,
83-
jobs[index + 1] :: number,
84-
jobs[index + 2]
85-
)
84+
-- It's ugly I know, but it's the only way to get it to work
85+
local job, position, value: any =
86+
jobs[index] :: (b: buffer, cursor: number, value: any) -> (), jobs[index + 1] :: number, jobs[index + 2]
87+
88+
job(dumpBuffer, position, value)
8689
end
8790

8891
return dumpBuffer

wally.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ffrostflame/bytenet"
3-
version = "0.3.0-dev3"
3+
version = "0.3.0"
44
registry = "https://github.com/UpliftGames/wally-index"
55
realm = "shared"
66

0 commit comments

Comments
 (0)