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
15const char DATA_SERVER_HOSTNAME[] = "data.highfidelity.io";
16const unsigned short DATA_SERVER_PORT = 3282;
17const sockaddr_in DATA_SERVER_SOCKET = socketForHostnameAndHostOrderPort(DATA_SERVER_HOSTNAME, DATA_SERVER_PORT);
18
19void 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
44void 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
64void DataServerClient::processConfirmFromDataServer(unsigned char* packetData, int numPacketBytes) {
65
66}
67
68void DataServerClient::processGetFromDataServer(unsigned char* packetData, int numPacketBytes) {
69
70}