1
0
mirror of https://github.com/CPunch/Laika.git synced 2025-10-02 22:40:06 +00:00

started cnc.[ch], lpeer.c no longer catches errors, instead cnc.c handles error events

This commit is contained in:
2022-01-24 10:34:30 -06:00
parent 48eebc1951
commit c0aa8d2724
4 changed files with 108 additions and 12 deletions

View File

@@ -64,7 +64,7 @@ struct sLaika_socket {
int inCap;
};
#define laikaS_isAlive(sock) (sock->sock != INVALID_SOCKET)
#define laikaS_isAlive(arg) (arg->sock != INVALID_SOCKET)
void laikaS_init(void);
void laikaS_cleanUp(void);

View File

@@ -23,7 +23,6 @@ void laikaS_freePeer(struct sLaika_peer *peer) {
bool laikaS_handlePeerIn(struct sLaika_peer *peer) {
RAWSOCKCODE err;
int recvd;
bool _tryCatchRes;
switch (peer->pktID) {
case LAIKAPKT_MAXNONE:
@@ -46,17 +45,20 @@ bool laikaS_handlePeerIn(struct sLaika_peer *peer) {
/* have we received the full packet? */
if (peer->pktSize == peer->sock.inCount) {
/* dispatch to packet handler */
LAIKA_TRY
peer->pktHandler(peer, peer->pktID);
_tryCatchRes = true;
LAIKA_CATCH
_tryCatchRes = false;
LAIKA_TRYEND /* can't skip this, so the return is after */
peer->pktHandler(peer, peer->pktID); /* dispatch to packet handler */
return _tryCatchRes;
/* reset */
peer->sock.inCount = 0;
peer->pktID = LAIKAPKT_MAXNONE;
}
break;
}
if (peer->sock.outCount > 0 && !laikaS_handlePeerOut(peer))
return false;
return laikaS_isAlive((&peer->sock));
}
bool laikaS_handlePeerOut(struct sLaika_peer *peer) {