aboutsummaryrefslogtreecommitdiffstats
path: root/include/server.hpp
blob: 59f8dc7999743513471baa116570670042c52ec6 (plain) (blame)
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
// Author Name: Matt Strapp
// Date: 25 April 2022
// x500: strap012
#ifndef server_H
#define server_H

// Comms includes util.hpp
#include "comms.hpp"

void SetNonBlockIO(int fd);
void RemoveConnection(int i);

int Send_NonBlocking(int sockFD, BYTE *data, struct CONN_STAT *pStat,
                     struct pollfd *pPeer);
int Recv_NonBlocking(int sockFD, BYTE *data, struct CONN_STAT *pStat,
                     struct pollfd *pPeer);

int processReception(int i);
void doServerCommand(int i);
void sendMessageToId(int id, bool reqLoggedIn, Header header, char *message);
void sendMessageToAllLoggedIn(Header header, char *message);
void sendMessageToAllLoggedInExceptSender(int senderID, Header header,
                                          char *message);
void sendMessageToName(char *name, Header header, char *message);
void prepareMessage(int i, Header header, char *message);
void printServerCommand(int i);

void DoServer(int port);

#endif