diff --git a/android/Snapcast/src/main/assets/bin/armeabi-v7a/snapclient b/android/Snapcast/src/main/assets/bin/armeabi-v7a/snapclient index 0f3d374f..99a50a56 100755 Binary files a/android/Snapcast/src/main/assets/bin/armeabi-v7a/snapclient and b/android/Snapcast/src/main/assets/bin/armeabi-v7a/snapclient differ diff --git a/android/Snapcast/src/main/assets/bin/armeabi/snapclient b/android/Snapcast/src/main/assets/bin/armeabi/snapclient index fbe3f598..9b3ddda9 100755 Binary files a/android/Snapcast/src/main/assets/bin/armeabi/snapclient and b/android/Snapcast/src/main/assets/bin/armeabi/snapclient differ diff --git a/client/controller.cpp b/client/controller.cpp index 04e67c92..bed2ad8c 100644 --- a/client/controller.cpp +++ b/client/controller.cpp @@ -28,7 +28,6 @@ #include "common/log.h" #include "common/snapException.h" #include "message/time.h" -#include "message/request.h" #include "message/hello.h" #include "controller.h" @@ -139,7 +138,7 @@ bool Controller::sendTimeSyncMessage(long after) return false; lastTimeSync = now; - msg::Request timeReq(kTime); + msg::Time timeReq; clientConnection_->send(&timeReq); return true; } @@ -176,7 +175,7 @@ void Controller::worker() msg::Hello hello(clientConnection_->getMacAddress()); clientConnection_->send(&hello); - msg::Request timeReq(kTime); + msg::Time timeReq; for (size_t n=0; n<50 && active_; ++n) { shared_ptr reply = clientConnection_->sendReq(&timeReq, chronos::msec(2000)); diff --git a/message/message.h b/message/message.h index b83b9695..1a06cbcb 100644 --- a/message/message.h +++ b/message/message.h @@ -55,8 +55,7 @@ enum message_type kWireChunk = 2, kServerSettings = 3, kTime = 4, - kRequest = 5, - kHello = 6 + kHello = 5 }; diff --git a/message/request.h b/message/request.h deleted file mode 100644 index 45e7dd56..00000000 --- a/message/request.h +++ /dev/null @@ -1,73 +0,0 @@ -/*** - This file is part of snapcast - Copyright (C) 2014-2016 Johannes Pohl - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . -***/ - -#ifndef REQUEST_MSG_H -#define REQUEST_MSG_H - -#include "message.h" -#include - -namespace msg -{ - -/** - * Request is sent from client to server. The answer is identified by a request id - */ -class Request : public BaseMessage -{ -public: - Request() : BaseMessage(message_type::kRequest), request(kBase) - { - } - - Request(message_type _request) : BaseMessage(message_type::kRequest), request(_request) - { - } - - virtual ~Request() - { - } - - virtual void read(std::istream& stream) - { - uint16_t i; - readVal(stream, i); - request = (message_type)i; - } - - virtual uint32_t getSize() const - { - return sizeof(int16_t); - } - - message_type request; - -protected: - virtual void doserialize(std::ostream& stream) const - { - uint16_t i = request; - writeVal(stream, i); - } -}; - -} - - -#endif - - diff --git a/server/controlServer.cpp b/server/controlServer.cpp index 2f0b4349..5da96a95 100644 --- a/server/controlServer.cpp +++ b/server/controlServer.cpp @@ -18,7 +18,6 @@ #include "controlServer.h" #include "message/time.h" -#include "message/request.h" #include "common/log.h" #include "common/utils.h" #include "common/snapException.h" diff --git a/server/streamServer.cpp b/server/streamServer.cpp index e9ec8fc1..4a1c6c5e 100644 --- a/server/streamServer.cpp +++ b/server/streamServer.cpp @@ -19,7 +19,6 @@ #include "json/jsonrpc.h" #include "streamServer.h" #include "message/time.h" -#include "message/request.h" #include "message/hello.h" #include "common/log.h" #include "config.h" @@ -241,26 +240,21 @@ void StreamServer::onMessageReceived(ControlSession* controlSession, const std:: void StreamServer::onMessageReceived(StreamSession* connection, const msg::BaseMessage& baseMessage, char* buffer) { logD << "getNextMessage: " << baseMessage.type << ", size: " << baseMessage.size << ", id: " << baseMessage.id << ", refers: " << baseMessage.refersTo << ", sent: " << baseMessage.sent.sec << "," << baseMessage.sent.usec << ", recv: " << baseMessage.received.sec << "," << baseMessage.received.usec << "\n"; - if (baseMessage.type == message_type::kRequest) + if (baseMessage.type == message_type::kTime) { - msg::Request requestMsg; - requestMsg.deserialize(baseMessage, buffer); - logD << "request: " << requestMsg.request << "\n"; - if (requestMsg.request == kTime) - { - msg::Time timeMsg; - timeMsg.refersTo = requestMsg.id; - timeMsg.latency = requestMsg.received - requestMsg.sent; -// logO << "Latency sec: " << timeMsg.latency.sec << ", usec: " << timeMsg.latency.usec << ", refers to: " << timeMsg.refersTo << "\n"; - connection->send(&timeMsg); + msg::Time timeMsg; + timeMsg.deserialize(baseMessage, buffer); + timeMsg.refersTo = timeMsg.id; + timeMsg.latency = timeMsg.received - timeMsg.sent; +// logO << "Latency sec: " << timeMsg.latency.sec << ", usec: " << timeMsg.latency.usec << ", refers to: " << timeMsg.refersTo << "\n"; + connection->send(&timeMsg); - // refresh connection state - ClientInfoPtr client = Config::instance().getClientInfo(connection->macAddress); - if (client != nullptr) - { - gettimeofday(&client->lastSeen, NULL); - client->connected = true; - } + // refresh connection state + ClientInfoPtr client = Config::instance().getClientInfo(connection->macAddress); + if (client != nullptr) + { + gettimeofday(&client->lastSeen, NULL); + client->connected = true; } } else if (baseMessage.type == message_type::kHello)