History

initial stub of data server client code in Interface

Stephen Birarda committed 13 years ago

Commit 4cc9f291 parent 825d3973 files · +100 −0Browse files

Showing the changes to interface/src/DataServerClient.cpp (1 of 3 files). Show all

Unified · Split

interface/src/DataServerClient.cpp+70−0
@@ -0,0 +1,70 @@
1+//
2+// DataServerClient.cpp
3+// hifi
4+//
5+// Created by Stephen Birarda on 10/7/13.
6+// Copyright (c) 2013 HighFidelity, Inc. All rights reserved.
7+//
8+
9+#include <NodeList.h>
10+#include <PacketHeaders.h>
11+#include <UDPSocket.h>
12+
13+#include "DataServerClient.h"
14+
15+const char DATA_SERVER_HOSTNAME[] = "data.highfidelity.io";
16+const unsigned short DATA_SERVER_PORT = 3282;
17+const sockaddr_in DATA_SERVER_SOCKET = socketForHostnameAndHostOrderPort(DATA_SERVER_HOSTNAME, DATA_SERVER_PORT);
18+
19+void DataServerClient::putValueForKey(const char* key, const char* value) {
20+ unsigned char putPacket[MAX_PACKET_SIZE];
21+
22+ // setup the header for this packet
23+ int numPacketBytes = populateTypeAndVersion(putPacket, PACKET_TYPE_DATA_SERVER_PUT);
24+
25+ // pack the client UUID
26+ QByteArray rfcUUID = _clientUUID.toRfc4122();
27+ memcpy(putPacket + numPacketBytes, rfcUUID.constData(), rfcUUID.size());
28+ numPacketBytes += rfcUUID.size();
29+
30+ // pack the key, null terminated
31+ strcpy((char*) putPacket + numPacketBytes, key);
32+ numPacketBytes += strlen(key);
33+ putPacket[numPacketBytes++] = '\0';
34+
35+ // pack the value, null terminated
36+ strcpy((char*) putPacket + numPacketBytes, value);
37+ numPacketBytes += strlen(value);
38+ putPacket[numPacketBytes++] = '\0';
39+
40+ // send this put request to the data server
41+ NodeList::getInstance()->getNodeSocket()->send((sockaddr*) &DATA_SERVER_SOCKET, putPacket, numPacketBytes);
42+}
43+
44+void DataServerClient::getValueForKeyAndUUID(const char* key, QUuid &uuid) {
45+ unsigned char getPacket[MAX_PACKET_SIZE];
46+
47+ // setup the header for this packet
48+ int numPacketBytes = populateTypeAndVersion(getPacket, PACKET_TYPE_DATA_SERVER_GET);
49+
50+ // pack the UUID we're asking for data for
51+ QByteArray rfcUUID = uuid.toRfc4122();
52+ memcpy(getPacket + numPacketBytes, rfcUUID, rfcUUID.size());
53+ numPacketBytes += rfcUUID.size();
54+
55+ // pack the key, null terminated
56+ strcpy((char*) getPacket + numPacketBytes, key);
57+ numPacketBytes += strlen(key);
58+ getPacket[numPacketBytes++] = '\0';
59+
60+ // send the get to the data server
61+ NodeList::getInstance()->getNodeSocket()->send((sockaddr*) &DATA_SERVER_SOCKET, getPacket, numPacketBytes);
62+}
63+
64+void DataServerClient::processConfirmFromDataServer(unsigned char* packetData, int numPacketBytes) {
65+
66+}
67+
68+void DataServerClient::processGetFromDataServer(unsigned char* packetData, int numPacketBytes) {
69+
70+}