Commit 94726c3
Add netcode_server_create_error, distinguishing bind failures
The server-side mirror of netcode_client_create_error: each failure path
in server create records a NETCODE_SERVER_CREATE_ERROR_* code, queryable
via netcode_server_create_error() when create returns NULL.
Bind failures are reported separately from other socket errors, per
address family: a port already in use is the common operational failure
for dedicated servers, and callers want to react to it (try the next
port) differently than to a socket that could not be created at all.
With this, create failures are queryable on both client and server. The
running server intentionally has no state machine beyond
netcode_server_running: its only states are stopped and started, and
everything else is per-client.
Adds test_server_create_error covering every reachable code, including
real port-in-use bind collisions for both address families. Suite is now
42 tests.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>1 parent de310e5 commit 94726c3
3 files changed
Lines changed: 133 additions & 26 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
| 34 | + | |
| 35 | + | |
38 | 36 | | |
39 | 37 | | |
40 | 38 | | |
| |||
72 | 70 | | |
73 | 71 | | |
74 | 72 | | |
75 | | - | |
| 73 | + | |
76 | 74 | | |
77 | 75 | | |
78 | 76 | | |
| |||
81 | 79 | | |
82 | 80 | | |
83 | 81 | | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
84 | 95 | | |
85 | 96 | | |
86 | 97 | | |
| |||
100 | 111 | | |
101 | 112 | | |
102 | 113 | | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | 114 | | |
122 | 115 | | |
123 | 116 | | |
| |||
141 | 134 | | |
142 | 135 | | |
143 | 136 | | |
144 | | - | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
145 | 140 | | |
146 | 141 | | |
147 | 142 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3920 | 3920 | | |
3921 | 3921 | | |
3922 | 3922 | | |
| 3923 | + | |
| 3924 | + | |
| 3925 | + | |
| 3926 | + | |
| 3927 | + | |
| 3928 | + | |
| 3929 | + | |
3923 | 3930 | | |
3924 | 3931 | | |
3925 | 3932 | | |
| |||
3934 | 3941 | | |
3935 | 3942 | | |
3936 | 3943 | | |
3937 | | - | |
| 3944 | + | |
| 3945 | + | |
| 3946 | + | |
3938 | 3947 | | |
| 3948 | + | |
| 3949 | + | |
| 3950 | + | |
| 3951 | + | |
| 3952 | + | |
| 3953 | + | |
| 3954 | + | |
| 3955 | + | |
| 3956 | + | |
| 3957 | + | |
| 3958 | + | |
| 3959 | + | |
| 3960 | + | |
| 3961 | + | |
3939 | 3962 | | |
3940 | 3963 | | |
3941 | 3964 | | |
| |||
3949 | 3972 | | |
3950 | 3973 | | |
3951 | 3974 | | |
| 3975 | + | |
| 3976 | + | |
3952 | 3977 | | |
3953 | 3978 | | |
3954 | 3979 | | |
| |||
3968 | 3993 | | |
3969 | 3994 | | |
3970 | 3995 | | |
| 3996 | + | |
3971 | 3997 | | |
3972 | 3998 | | |
3973 | 3999 | | |
3974 | 4000 | | |
3975 | 4001 | | |
3976 | 4002 | | |
| 4003 | + | |
3977 | 4004 | | |
3978 | 4005 | | |
3979 | 4006 | | |
| |||
4017 | 4044 | | |
4018 | 4045 | | |
4019 | 4046 | | |
| 4047 | + | |
4020 | 4048 | | |
4021 | 4049 | | |
4022 | 4050 | | |
| |||
6962 | 6990 | | |
6963 | 6991 | | |
6964 | 6992 | | |
| 6993 | + | |
| 6994 | + | |
| 6995 | + | |
| 6996 | + | |
| 6997 | + | |
| 6998 | + | |
| 6999 | + | |
| 7000 | + | |
| 7001 | + | |
| 7002 | + | |
| 7003 | + | |
| 7004 | + | |
| 7005 | + | |
| 7006 | + | |
| 7007 | + | |
| 7008 | + | |
| 7009 | + | |
| 7010 | + | |
| 7011 | + | |
| 7012 | + | |
| 7013 | + | |
| 7014 | + | |
| 7015 | + | |
| 7016 | + | |
| 7017 | + | |
| 7018 | + | |
| 7019 | + | |
| 7020 | + | |
| 7021 | + | |
| 7022 | + | |
| 7023 | + | |
| 7024 | + | |
| 7025 | + | |
| 7026 | + | |
| 7027 | + | |
| 7028 | + | |
| 7029 | + | |
| 7030 | + | |
| 7031 | + | |
| 7032 | + | |
| 7033 | + | |
| 7034 | + | |
| 7035 | + | |
| 7036 | + | |
| 7037 | + | |
| 7038 | + | |
| 7039 | + | |
| 7040 | + | |
| 7041 | + | |
| 7042 | + | |
| 7043 | + | |
| 7044 | + | |
| 7045 | + | |
| 7046 | + | |
| 7047 | + | |
| 7048 | + | |
| 7049 | + | |
| 7050 | + | |
| 7051 | + | |
| 7052 | + | |
| 7053 | + | |
| 7054 | + | |
| 7055 | + | |
| 7056 | + | |
6965 | 7057 | | |
6966 | 7058 | | |
6967 | 7059 | | |
| |||
9324 | 9416 | | |
9325 | 9417 | | |
9326 | 9418 | | |
| 9419 | + | |
9327 | 9420 | | |
9328 | 9421 | | |
9329 | 9422 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
103 | 112 | | |
104 | 113 | | |
105 | 114 | | |
| |||
252 | 261 | | |
253 | 262 | | |
254 | 263 | | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
255 | 274 | | |
256 | 275 | | |
257 | 276 | | |
| |||
0 commit comments