Stardew Engine
Loading...
Searching...
No Matches
Network.h
Go to the documentation of this file.
1#ifndef NETWORK_H
2#define NETWORK_H
3
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8#include "ThreadSafeQueue.h"
9#include "SharedPtr.h"
10#include "IntTypes.h"
11#include <stdlib.h>
12
52
53
55{
56 char username[64];
57};
58
63
64// ip numbers = (4 * groups of 3 + 3 dots) + ':' + 5 numbers for port + null terminator
65#define IP_AND_PORT_BUF_SIZE (15 + 3 + 1 + 5 + 1)
66
72
74{
75 char username[64];
77};
78
89
90
108
114
120
122{
123 const char* ip;
124 unsigned short port;
125};
126
133
134void NW_Init();
135
136bool NW_DequeueData(struct NetworkQueueItem* pOut);
137
139
140void NW_EnqueueData(struct NetworkQueueItem* pIn);
141
142enum GameRole NW_GetRole();
143
144#ifdef __cplusplus
145}
146#endif
147
148#endif
uint64_t u64
Definition IntTypes.h:15
MatchmakingProtocolMessageType
Definition Network.h:39
@ MM_ServerSeekClient
game server sends to matchmaking server to begin seeking clients
Definition Network.h:44
@ MM_GameConnection
send to client with address of server to join
Definition Network.h:50
@ MM_ServerPeerJoined
send from the game server to the matchmaking server to indicate a player has joined
Definition Network.h:47
@ MM_ClientSeekServer
client sends to matchmaking server to seek a game server
Definition Network.h:41
void NW_Init()
Definition Network.c:1107
GameRole
Definition Network.h:128
@ GR_Singleplayer
Definition Network.h:129
@ GR_Client
Definition Network.h:130
@ GR_ClientServer
Definition Network.h:131
bool NW_DequeueData(struct NetworkQueueItem *pOut)
Definition Network.c:1137
#define IP_AND_PORT_BUF_SIZE
Definition Network.h:65
NetworkConnectionEventType
Definition Network.h:110
@ NCE_ClientConnected
Definition Network.h:111
@ NCE_ClientDisconnected
Definition Network.h:112
enum GameRole NW_GetRole()
Definition Network.c:1152
void NW_EnqueueData(struct NetworkQueueItem *pIn)
Definition Network.c:1147
bool NW_DequeueConnectionEvent(struct NetworkConnectionEvent *pOut)
Definition Network.c:1142
Definition Network.h:60
struct PlayerInfo playerInfo
Definition Network.h:61
Definition Network.h:122
const char * ip
Definition Network.h:123
unsigned short port
Definition Network.h:124
Definition Network.h:80
struct PeerAddress peer
Definition Network.h:86
struct ServerMatchmakingInfo serverInfo
Definition Network.h:85
union MatchMakingMessage::@20 data
enum MatchmakingProtocolMessageType type
Definition Network.h:81
struct ClientMatchmakingInfo clientInfo
Definition Network.h:84
Definition Network.h:116
enum NetworkConnectionEventType type
Definition Network.h:117
int client
Definition Network.h:118
Definition Network.h:92
int client
if its a server recieve queue this is the sending client if its a server transmit queue then this is ...
Definition Network.h:100
bool bReliable
Definition Network.h:105
int pDataSize
Definition Network.h:104
SHARED_PTR(void) pData
shared pointer when sent from game thread, malloced pointer when returned to game thread
u64 sequenceNumber
Definition Network.h:106
Definition Network.h:74
char username[64]
Definition Network.h:75
char address[IP_AND_PORT_BUF_SIZE]
Definition Network.h:76
Definition Network.h:55
char username[64]
Definition Network.h:56
Definition Network.h:68
struct PlayerInfo playerInfo
Definition Network.h:69
int availableSlots
Definition Network.h:70