mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-04-22 19:29:04 -05:00
Code cleanup branch (#618)
* Make height map fallback layer work again * Add documentation to joystick button bindings * Removed grouped property headers * Add new version number constant generated by CMake * Make Joystick deadzone work properly * Change the startup date on Earth to today * Fix key modifier handling * Add debugging indices for TreeNodeDebugging * Fix script schedule for OsirisRex * Do not open Mission schedule automatically * Upload default projection texture automatically * General code cleanup * Fix check_style_guide warnings * Remove .clang-format * MacOS compile fixes * Clang analyzer fixes
This commit is contained in:
@@ -25,14 +25,12 @@
|
||||
#ifndef __OPENSPACE_CORE___MESSAGESTRUCTURES___H__
|
||||
#define __OPENSPACE_CORE___MESSAGESTRUCTURES___H__
|
||||
|
||||
#include <ghoul/glm.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
//#include <glm/gtx/quaternion.hpp>
|
||||
|
||||
#include <openspace/util/camera.h>
|
||||
|
||||
namespace openspace::datamessagestructures {
|
||||
|
||||
enum class Type : uint32_t {
|
||||
CameraData = 0,
|
||||
TimeData,
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace openspace {
|
||||
|
||||
class NetworkEngine {
|
||||
public:
|
||||
typedef uint16_t MessageIdentifier;
|
||||
using MessageIdentifier = uint16_t;
|
||||
|
||||
NetworkEngine();
|
||||
|
||||
@@ -57,7 +57,7 @@ public:
|
||||
|
||||
private:
|
||||
std::map<std::string, MessageIdentifier> _identifiers;
|
||||
MessageIdentifier _lastAssignedIdentifier;
|
||||
MessageIdentifier _lastAssignedIdentifier = MessageIdentifier(-1);
|
||||
|
||||
struct Message {
|
||||
MessageIdentifier identifer;
|
||||
@@ -67,7 +67,7 @@ private:
|
||||
|
||||
std::vector<Message> _initialConnectionMessages;
|
||||
|
||||
bool _shouldPublishStatusMessage;
|
||||
bool _shouldPublishStatusMessage = true;
|
||||
|
||||
MessageIdentifier _statusMessageIdentifier;
|
||||
MessageIdentifier _identifierMappingIdentifier;
|
||||
|
||||
@@ -26,9 +26,8 @@
|
||||
#define __OPENSPACE_CORE___PARALLELCONNECTION___H__
|
||||
|
||||
#include <openspace/network/messagestructures.h>
|
||||
|
||||
#include <ghoul/io/socket/tcpsocket.h>
|
||||
|
||||
#include <ghoul/misc/exception.h>
|
||||
#include <vector>
|
||||
|
||||
namespace openspace {
|
||||
@@ -54,22 +53,17 @@ public:
|
||||
};
|
||||
|
||||
struct Message {
|
||||
Message() {};
|
||||
Message(MessageType t, const std::vector<char>& c)
|
||||
: type(t)
|
||||
, content(c)
|
||||
{};
|
||||
Message() = default;
|
||||
Message(MessageType t, std::vector<char> c);
|
||||
|
||||
MessageType type;
|
||||
std::vector<char> content;
|
||||
};
|
||||
|
||||
struct DataMessage {
|
||||
DataMessage() {};
|
||||
DataMessage(datamessagestructures::Type t, const std::vector<char>& c)
|
||||
: type(t)
|
||||
, content(c)
|
||||
{};
|
||||
DataMessage() = default;
|
||||
DataMessage(datamessagestructures::Type t, std::vector<char> c);
|
||||
|
||||
datamessagestructures::Type type;
|
||||
std::vector<char> content;
|
||||
};
|
||||
@@ -81,9 +75,9 @@ public:
|
||||
|
||||
ParallelConnection(std::unique_ptr<ghoul::io::TcpSocket> socket);
|
||||
|
||||
bool isConnectedOrConnecting();
|
||||
bool isConnectedOrConnecting() const;
|
||||
void sendDataMessage(const ParallelConnection::DataMessage& dataMessage);
|
||||
bool sendMessage(const ParallelConnection::Message& message);
|
||||
bool sendMessage(const ParallelConnection::Message& message);
|
||||
void disconnect();
|
||||
ghoul::io::TcpSocket* socket();
|
||||
|
||||
|
||||
@@ -25,33 +25,28 @@
|
||||
#ifndef __OPENSPACE_CORE___PARALLELPEER___H__
|
||||
#define __OPENSPACE_CORE___PARALLELPEER___H__
|
||||
|
||||
#include <openspace/network/parallelconnection.h>
|
||||
#include <openspace/network/messagestructures.h>
|
||||
#include <openspace/properties/propertyowner.h>
|
||||
|
||||
#include <openspace/network/parallelconnection.h>
|
||||
#include <openspace/properties/stringproperty.h>
|
||||
#include <openspace/properties/numericalproperty.h>
|
||||
#include <openspace/properties/scalar/floatproperty.h>
|
||||
|
||||
#include <glm/gtx/quaternion.hpp>
|
||||
|
||||
#include <ghoul/designpattern/event.h>
|
||||
#include <ghoul/io/socket/tcpsocket.h>
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <deque>
|
||||
#include <atomic>
|
||||
#include <thread>
|
||||
#include <deque>
|
||||
#include <mutex>
|
||||
#include <map>
|
||||
#include <condition_variable>
|
||||
#include <string>
|
||||
#include <thread>
|
||||
#include <vector>
|
||||
|
||||
namespace openspace {
|
||||
|
||||
namespace scripting { struct LuaLibrary; }
|
||||
|
||||
class ParallelPeer : public properties::PropertyOwner {
|
||||
public:
|
||||
ParallelPeer();
|
||||
~ParallelPeer();
|
||||
|
||||
void connect();
|
||||
void setPort(std::string port);
|
||||
void setAddress(std::string address);
|
||||
@@ -76,7 +71,7 @@ public:
|
||||
static scripting::LuaLibrary luaLibrary();
|
||||
ParallelConnection::Status status();
|
||||
int nConnections();
|
||||
std::shared_ptr<ghoul::Event<>> connectionEvent();
|
||||
ghoul::Event<>& connectionEvent();
|
||||
|
||||
private:
|
||||
void queueInMessage(const ParallelConnection::Message& message);
|
||||
@@ -85,9 +80,9 @@ private:
|
||||
void handleCommunication();
|
||||
|
||||
void handleMessage(const ParallelConnection::Message&);
|
||||
void dataMessageReceived(const std::vector<char>& messageContent);
|
||||
void connectionStatusMessageReceived(const std::vector<char>& messageContent);
|
||||
void nConnectionsMessageReceived(const std::vector<char>& messageContent);
|
||||
void dataMessageReceived(const std::vector<char>& message);
|
||||
void connectionStatusMessageReceived(const std::vector<char>& message);
|
||||
void nConnectionsMessageReceived(const std::vector<char>& message);
|
||||
|
||||
void sendCameraKeyframe();
|
||||
void sendTimeKeyframe();
|
||||
@@ -100,6 +95,7 @@ private:
|
||||
|
||||
properties::StringProperty _password;
|
||||
properties::StringProperty _hostPassword;
|
||||
// Change to properties::IntProperty ? ---abock
|
||||
properties::StringProperty _port;
|
||||
properties::StringProperty _address;
|
||||
properties::StringProperty _name;
|
||||
@@ -108,13 +104,15 @@ private:
|
||||
properties::FloatProperty _cameraKeyframeInterval;
|
||||
properties::FloatProperty _timeTolerance;
|
||||
|
||||
double _lastTimeKeyframeTimestamp;
|
||||
double _lastCameraKeyframeTimestamp;
|
||||
double _lastTimeKeyframeTimestamp = 0.0;
|
||||
double _lastCameraKeyframeTimestamp = 0.0;
|
||||
|
||||
std::atomic<bool> _shouldDisconnect;
|
||||
std::atomic_bool _shouldDisconnect = false;
|
||||
|
||||
std::atomic<size_t> _nConnections = 0;
|
||||
std::atomic<ParallelConnection::Status> _status =
|
||||
ParallelConnection::Status::Disconnected;
|
||||
|
||||
std::atomic<size_t> _nConnections;
|
||||
std::atomic<ParallelConnection::Status> _status;
|
||||
std::string _hostName;
|
||||
|
||||
std::deque<ParallelConnection::Message> _receiveBuffer;
|
||||
@@ -125,7 +123,7 @@ private:
|
||||
std::deque<double> _latencyDiffs;
|
||||
double _initialTimeDiff;
|
||||
|
||||
std::unique_ptr<std::thread> _receiveThread;
|
||||
std::unique_ptr<std::thread> _receiveThread = nullptr;
|
||||
std::shared_ptr<ghoul::Event<>> _connectionEvent;
|
||||
|
||||
ParallelConnection _connection;
|
||||
|
||||
@@ -28,23 +28,19 @@
|
||||
#include <openspace/network/parallelconnection.h>
|
||||
|
||||
#include <openspace/util/concurrentqueue.h>
|
||||
|
||||
#include <ghoul/io/socket/tcpsocketserver.h>
|
||||
#include <ghoul/io/socket/tcpsocket.h>
|
||||
|
||||
#include <atomic>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
#include <atomic>
|
||||
|
||||
namespace openspace {
|
||||
|
||||
class ParallelServer {
|
||||
public:
|
||||
void start(int port,
|
||||
const std::string& password,
|
||||
void start(int port, const std::string& password,
|
||||
const std::string& changeHostPassword);
|
||||
|
||||
void setDefaultHostAddress(std::string);
|
||||
void setDefaultHostAddress(std::string defaultHostAddress);
|
||||
|
||||
std::string defaultHostAddress() const;
|
||||
|
||||
@@ -54,6 +50,9 @@ public:
|
||||
|
||||
private:
|
||||
struct Peer {
|
||||
//Peer(size_t id_, std::string name_, ParallelConnection parallelConnection_,
|
||||
//ParallelConnection::Status status_, std::thread )
|
||||
|
||||
size_t id;
|
||||
std::string name;
|
||||
ParallelConnection parallelConnection;
|
||||
@@ -80,20 +79,20 @@ private:
|
||||
|
||||
void disconnect(std::shared_ptr<Peer> peer);
|
||||
void setName(std::shared_ptr<Peer> peer, std::string name);
|
||||
void assignHost(std::shared_ptr<Peer> peer);
|
||||
void assignHost(std::shared_ptr<Peer> newHost);
|
||||
void setToClient(std::shared_ptr<Peer> peer);
|
||||
void setNConnections(size_t nConnections);
|
||||
void sendConnectionStatus(std::shared_ptr<Peer> peer);
|
||||
|
||||
void handleAuthentication(std::shared_ptr<Peer> peer, std::vector<char> data);
|
||||
void handleAuthentication(std::shared_ptr<Peer> peer, std::vector<char> message);
|
||||
void handleData(std::shared_ptr<Peer> peer, std::vector<char> data);
|
||||
void handleHostshipRequest(std::shared_ptr<Peer> peer, std::vector<char> data);
|
||||
void handleHostshipRequest(std::shared_ptr<Peer> peer, std::vector<char> message);
|
||||
void handleHostshipResignation(std::shared_ptr<Peer> peer, std::vector<char> data);
|
||||
void handleDisconnection(std::shared_ptr<Peer> peer);
|
||||
|
||||
void handleNewPeers();
|
||||
void eventLoop();
|
||||
std::shared_ptr<Peer> peer(size_t i);
|
||||
std::shared_ptr<Peer> peer(size_t id);
|
||||
void handlePeer(size_t id);
|
||||
void handlePeerMessage(PeerMessage peerMessage);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user