mirror of
https://github.com/CPunch/Laika.git
synced 2024-10-06 01:22:47 +00:00
25 lines
857 B
C
25 lines
857 B
C
|
#ifndef LAIKA_PEER_H
|
||
|
#define LAIKA_PEER_H
|
||
|
|
||
|
#include "laika.h"
|
||
|
#include "lsocket.h"
|
||
|
#include "lpacket.h"
|
||
|
#include "lpolllist.h"
|
||
|
|
||
|
struct sLaika_peer {
|
||
|
struct sLaika_socket sock;
|
||
|
struct sLaika_pollList *pList; /* pollList we're active in */
|
||
|
void (*pktHandler)(struct sLaika_peer *peer, LAIKAPKT_ID id);
|
||
|
size_t pktSize; /* current pkt size */
|
||
|
LAIKAPKT_ID pktID; /* current pkt ID */
|
||
|
size_t *pktSizeTable; /* const table to pull pkt size data from */
|
||
|
bool setPollOut; /* if EPOLLOUT/POLLOUT is set on sock's pollfd */
|
||
|
};
|
||
|
|
||
|
struct sLaika_peer *laikaS_newPeer(void (*pktHandler)(struct sLaika_peer *peer, LAIKAPKT_ID id), struct sLaika_pollList *pList, size_t *pktSizeTable);
|
||
|
void laikaS_freePeer(struct sLaika_peer *peer);
|
||
|
|
||
|
bool laikaS_handlePeerIn(struct sLaika_peer *peer);
|
||
|
bool laikaS_handlePeerOut(struct sLaika_peer *peer);
|
||
|
|
||
|
#endif
|