From b9c152532117106e148ee42181afde960bae5968 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 1 Jul 2013 14:05:14 -0700 Subject: [PATCH] add the base of the assignment-server --- CMakeLists.txt | 1 + assignment-server/CMakeLists.txt | 13 +++++++++++ assignment-server/src/main.cpp | 33 ++++++++++++++++++++++++++++ libraries/shared/src/PacketHeaders.h | 2 ++ 4 files changed, 49 insertions(+) create mode 100644 assignment-server/CMakeLists.txt create mode 100644 assignment-server/src/main.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 8af8081975..80c5de1df6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,7 @@ cmake_minimum_required(VERSION 2.8) project(hifi) add_subdirectory(animation-server) +add_subdirectory(assignment-server) add_subdirectory(avatar-mixer) add_subdirectory(audio-mixer) add_subdirectory(domain-server) diff --git a/assignment-server/CMakeLists.txt b/assignment-server/CMakeLists.txt new file mode 100644 index 0000000000..2df1140547 --- /dev/null +++ b/assignment-server/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 2.8) + +set(TARGET_NAME assignment-server) + +set(ROOT_DIR ..) +set(MACRO_DIR ${ROOT_DIR}/cmake/macros) + +include(${MACRO_DIR}/SetupHifiProject.cmake) +setup_hifi_project(${TARGET_NAME}) + +# link in the shared library +include(${MACRO_DIR}/LinkHifiLibrary.cmake) +link_hifi_library(shared ${TARGET_NAME} ${ROOT_DIR}) \ No newline at end of file diff --git a/assignment-server/src/main.cpp b/assignment-server/src/main.cpp new file mode 100644 index 0000000000..faad21aa6f --- /dev/null +++ b/assignment-server/src/main.cpp @@ -0,0 +1,33 @@ +// +// main.cpp +// assignment-server +// +// Created by Stephen Birarda on 7/1/13. +// Copyright (c) 2013 High Fidelity, Inc. All rights reserved. +// + +#include + +#include +#include + +const int ASSIGNMENT_SERVER_LISTEN_PORT = 7007; +const int MAX_PACKET_SIZE_BYTES = 1400; + +int main(int argc, const char* argv[]) { + + sockaddr_in senderSocket; + char senderData[MAX_PACKET_SIZE_BYTES] = {}; + ssize_t receivedBytes = 0; + + UDPSocket serverSocket(ASSIGNMENT_SERVER_LISTEN_PORT); + + while (true) { + if (serverSocket.receive((sockaddr*) &senderSocket, &senderData, &receivedBytes)) { + if (senderData[0] == PACKET_HEADER_REQUEST_ASSIGNMENT) { + // for now just send back a dummy assignment packet + serverSocket.send((sockaddr*) &senderSocket, &PACKET_HEADER_SEND_ASSIGNMENT, 1); + } + } + } +} diff --git a/libraries/shared/src/PacketHeaders.h b/libraries/shared/src/PacketHeaders.h index 89f6fbaf54..9f87bc2e8d 100644 --- a/libraries/shared/src/PacketHeaders.h +++ b/libraries/shared/src/PacketHeaders.h @@ -33,6 +33,8 @@ const PACKET_HEADER PACKET_HEADER_TRANSMITTER_DATA_V2 = 'T'; const PACKET_HEADER PACKET_HEADER_ENVIRONMENT_DATA = 'e'; const PACKET_HEADER PACKET_HEADER_DOMAIN_LIST_REQUEST = 'L'; const PACKET_HEADER PACKET_HEADER_DOMAIN_REPORT_FOR_DUTY = 'C'; +const PACKET_HEADER PACKET_HEADER_REQUEST_ASSIGNMENT = 'r'; +const PACKET_HEADER PACKET_HEADER_SEND_ASSIGNMENT = 's'; // These are supported Z-Command