equal
deleted
inserted
replaced
153 static void flib_ipc_wrappedtick(flib_ipc ipc) { |
153 static void flib_ipc_wrappedtick(flib_ipc ipc) { |
154 if(ipc->oldConnState == IPC_NOT_CONNECTED) { |
154 if(ipc->oldConnState == IPC_NOT_CONNECTED) { |
155 return; |
155 return; |
156 } |
156 } |
157 |
157 |
158 flib_ipcconn_tick(ipc->connection); |
158 if(ipc->oldConnState == IPC_LISTENING) { |
159 IpcConnState newstate = flib_ipcconn_state(ipc->connection); |
159 flib_ipcconn_accept(ipc->connection); |
160 if(ipc->oldConnState == IPC_LISTENING && newstate == IPC_CONNECTED) { |
160 if(flib_ipcconn_state(ipc->connection) == IPC_CONNECTED) { |
161 ipc->oldConnState = newstate; |
161 ipc->oldConnState = IPC_CONNECTED; |
162 ipc->onConnectCb(ipc->onConnectCtx); |
162 ipc->onConnectCb(ipc->onConnectCtx); |
|
163 } |
163 } |
164 } |
164 |
165 |
165 if(ipc->oldConnState == IPC_CONNECTED) { |
166 if(ipc->oldConnState == IPC_CONNECTED) { |
166 uint8_t msgbuffer[257]; |
167 uint8_t msgbuffer[257]; |
167 int len; |
168 int len; |
214 break; |
215 break; |
215 } |
216 } |
216 } |
217 } |
217 } |
218 } |
218 |
219 |
219 newstate = flib_ipcconn_state(ipc->connection); |
220 if(flib_ipcconn_state(ipc->connection) == IPC_NOT_CONNECTED) { |
220 if(newstate == IPC_NOT_CONNECTED) { |
221 ipc->oldConnState = IPC_NOT_CONNECTED; |
221 ipc->oldConnState = newstate; |
|
222 ipc->onDisconnectCb(ipc->onDisconnectCtx); |
222 ipc->onDisconnectCb(ipc->onDisconnectCtx); |
|
223 } |
|
224 } |
|
225 |
|
226 void flib_ipc_tick(flib_ipc ipc) { |
|
227 if(!ipc) { |
|
228 flib_log_w("Call to flib_ipc_tick with ipc==null"); |
|
229 return; |
|
230 } |
|
231 if(ipc->running) { |
|
232 flib_log_w("Call to flib_ipc_tick from a callback"); |
|
233 return; |
|
234 } |
|
235 |
|
236 ipc->running = true; |
|
237 flib_ipc_wrappedtick(ipc); |
|
238 ipc->running = false; |
|
239 |
|
240 if(ipc->destroyRequested) { |
|
241 flib_ipc_destroy(&ipc); |
223 } |
242 } |
224 } |
243 } |
225 |
244 |
226 int flib_ipc_send_raw(flib_ipc ipc, void *data, size_t len) { |
245 int flib_ipc_send_raw(flib_ipc ipc, void *data, size_t len) { |
227 if(!ipc) { |
246 if(!ipc) { |
259 if(!ipc) { |
278 if(!ipc) { |
260 flib_log_w("Call to flib_ipc_send_messagestr with ipc==null"); |
279 flib_log_w("Call to flib_ipc_send_messagestr with ipc==null"); |
261 flib_constbuffer result = {NULL, 0}; |
280 flib_constbuffer result = {NULL, 0}; |
262 return result; |
281 return result; |
263 } |
282 } |
264 return flib_ipcconn_getdemo(ipc->connection); |
283 return flib_ipcconn_getrecord(ipc->connection, false); |
265 } |
284 } |
266 |
|
267 void flib_ipc_tick(flib_ipc ipc) { |
|
268 if(!ipc) { |
|
269 flib_log_w("Call to flib_ipc_tick with ipc==null"); |
|
270 return; |
|
271 } |
|
272 if(ipc->running) { |
|
273 flib_log_w("Call to flib_ipc_tick from a callback"); |
|
274 return; |
|
275 } |
|
276 |
|
277 ipc->running = true; |
|
278 flib_ipc_wrappedtick(ipc); |
|
279 ipc->running = false; |
|
280 |
|
281 if(ipc->destroyRequested) { |
|
282 flib_ipc_destroy(&ipc); |
|
283 } |
|
284 } |
|