23 #if _RAKNET_SUPPORT_CloudServer==1 
   25 #ifndef __CLOUD_SERVER_H 
   26 #define __CLOUD_SERVER_H 
   37 #define CLOUD_SERVER_DATA_STACK_SIZE 32 
   42 class RakPeerInterface;
 
   88     void SetMaxUploadBytesPerClient(
uint64_t bytes);
 
   93     void SetMaxBytesPerDownload(
uint64_t bytes);
 
  104     void RemoveServer(
RakNetGUID systemIdentifier);
 
  117     void ForceExternalSystemAddress(
SystemAddress forcedAddress);
 
  131     void RemoveAllQueryFilters(
void);
 
  134     virtual void Update(
void);
 
  137     virtual void OnRakPeerShutdown(
void);
 
  140     virtual void OnPostRequest(
Packet *packet);
 
  141     virtual void OnReleaseRequest(
Packet *packet);
 
  142     virtual void OnGetRequest(
Packet *packet);
 
  143     virtual void OnUnsubscribeRequest(
Packet *packet);
 
  144     virtual void OnServerToServerGetRequest(
Packet *packet);
 
  145     virtual void OnServerToServerGetResponse(
Packet *packet);
 
  156         bool IsUnused(
void)
 const {
return isUploaded==
false && specificSubscribers.Size()==0;}
 
  187         bool IsUnused(
void)
 const {
return keyData.Size()==0 && nonSpecificSubscribers.Size()==0;}
 
  192             index = nonSpecificSubscribers.GetIndexFromKey(g, &objectExists);
 
  196                 nonSpecificSubscribers.RemoveAtIndex(index);
 
  226         bool IsUnused(
void)
 const {
return uploadedKeys.Size()==0 && subscribedKeys.Size()==0;}
 
  235     void ReleaseSystem(
RakNetGUID clientAddress );
 
  242     void NotifyServerSubscribersOfDataChange( 
CloudData *cloudData, 
CloudKey &key, 
bool wasUpdated );
 
  277         void Serialize(
bool writeToBitstream, 
BitStream *bitStream);
 
  284         bool AllRemoteServersHaveResponded(
void) 
const;
 
  303     void ProcessAndTransmitGetRequest(
GetRequest *getRequest);
 
  305     void ProcessCloudQueryWithAddresses(
 
  311     void SendUploadedAndSubscribedKeysToServer( 
RakNetGUID systemAddress );
 
  312     void SendUploadedKeyToServers( 
CloudKey &cloudKey );
 
  313     void SendSubscribedKeyToServers( 
CloudKey &cloudKey );
 
  314     void RemoveUploadedKeyFromServers( 
CloudKey &cloudKey );
 
  315     void RemoveSubscribedKeyFromServers( 
CloudKey &cloudKey );
 
  317     void OnSendUploadedAndSubscribedKeysToServer( 
Packet *packet );
 
  318     void OnSendUploadedKeyToServers( 
Packet *packet );
 
  319     void OnSendSubscribedKeyToServers( 
Packet *packet );
 
  320     void OnRemoveUploadedKeyFromServers( 
Packet *packet );
 
  321     void OnRemoveSubscribedKeyFromServers( 
Packet *packet );
 
  322     void OnServerDataChanged( 
Packet *packet );
 
  324     void GetServersWithUploadedKeys(
 
  388 #endif // _RAKNET_SUPPORT_*