-
-
Notifications
You must be signed in to change notification settings - Fork 239
/
TODO
103 lines (52 loc) · 3.46 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
DONE
Support for different client/server implementations
Client/server implementation built on top of reliable.io and netcode.io
Packet fragmentation and re-assembly support from reliable.io
Better implementation of connect tokens via netcode.io
Port across secure_server to new API.
Tracked down (rare) message leak in receive queue overflow.
Extend soak test to have unreliable, unordered channel, and to make sure it exercises packet fragmentation and reassembly codepath.
Extend yojimbo to have detailed logging support, eg. log levels (none, error, info, debug)
Fixed compilation on windows.
Extend yojimbo so it can have an overridden printf function
Extend netcode.io so it can have an overridden printf function
Extend reliable.io so it can have an overriden printf function
Extend yojimbo so it can have an overridden assert function
Important git submodule tips:
1. On clone, you must call "git submodule update --recursive" to get the netcode.io and reliable.io submodules. They will initially be empty.
2. To update the submodules to their respective head revisions: "git submodule update --remote --merge"
3. Editing the submodules in place doesn't seem to work, unless you created that submodule in your local repository (MacOS in my case).
Removed secure build, no longer required (unified secure/insecure connect codepaths).
Extend netcode.io so it can have an overridden assert function
Extend reliable.io so it can have an overriden assert function
Update matcher.go so it uses netcode.io golang implementation to generate connect token data
Fixed bug in reliable.io introduced by renaming 'sequence' to 'ack_sequence' to fix Visual C++ complaining about it.
Bring across the C++ matcher implementation again, and upgrade it to use the new connect tokens from netcode.io
Port across secure_client to new API.
Verified new matcher works with secure client and server.
TODO
------------
Extend netcode.io so the user can set a custom allocator to use for client.
Extend netcode.io so the user can set a custom allocator to use for server.
Extend reliable.io so the user can set a custom allocator to use for endpoints.
Integrate custom allocators for netcode.io and reliable.io with client and server allocators in yojimbo.
------------
Implement packet loss, latency, jitter estimates from reliable.io
Integrate QoS settings above with yojimbo client/server and connection.
Implement congestion adoidance in reliable.io (if reasonably possible given that user is in control of packet sizes...)
------------
Add ability to back-channel connect client and server (at the base client level).
This should allow the ability to pump in client -> server packets for a connected slot, and server -> client packets.
This will enable local loopback packet exchange between a client and server, and should work to a standard interface that is the same across all client/server implementations.
eg. this should be implemented in the base client / base server.
------------
Rethink and fix up configuration of channels. It still feels too complex.
------------
Add some way to get at acks from the adapter.
------------
Pass over all // todo and fix
------------
Pass over doxygen documentation again.
------------
*** Feature complete for 0.6 release ***
------------