Replace some shared_ptr with unique_ptr

This commit is contained in:
badaix 2019-12-11 22:48:21 +01:00
parent d8a6e63691
commit 6b793dfb76
3 changed files with 19 additions and 19 deletions

View file

@ -82,7 +82,7 @@ void Controller::onMessageReceived(ClientConnection* /*connection*/, const msg::
} }
else if (baseMessage.type == message_type::kServerSettings) else if (baseMessage.type == message_type::kServerSettings)
{ {
serverSettings_.reset(new msg::ServerSettings()); serverSettings_ = make_unique<msg::ServerSettings>();
serverSettings_->deserialize(baseMessage, buffer); serverSettings_->deserialize(baseMessage, buffer);
LOG(INFO) << "ServerSettings - buffer: " << serverSettings_->getBufferMs() << ", latency: " << serverSettings_->getLatency() LOG(INFO) << "ServerSettings - buffer: " << serverSettings_->getBufferMs() << ", latency: " << serverSettings_->getLatency()
<< ", volume: " << serverSettings_->getVolume() << ", muted: " << serverSettings_->isMuted() << "\n"; << ", volume: " << serverSettings_->getVolume() << ", muted: " << serverSettings_->isMuted() << "\n";
@ -95,7 +95,7 @@ void Controller::onMessageReceived(ClientConnection* /*connection*/, const msg::
} }
else if (baseMessage.type == message_type::kCodecHeader) else if (baseMessage.type == message_type::kCodecHeader)
{ {
headerChunk_.reset(new msg::CodecHeader()); headerChunk_ = make_unique<msg::CodecHeader>();
headerChunk_->deserialize(baseMessage, buffer); headerChunk_->deserialize(baseMessage, buffer);
LOG(INFO) << "Codec: " << headerChunk_->codec << "\n"; LOG(INFO) << "Codec: " << headerChunk_->codec << "\n";
@ -141,11 +141,12 @@ void Controller::onMessageReceived(ClientConnection* /*connection*/, const msg::
} }
else if (baseMessage.type == message_type::kStreamTags) else if (baseMessage.type == message_type::kStreamTags)
{ {
streamTags_.reset(new msg::StreamTags());
streamTags_->deserialize(baseMessage, buffer);
if (meta_) if (meta_)
meta_->push(streamTags_->msg); {
msg::StreamTags streamTags_;
streamTags_.deserialize(baseMessage, buffer);
meta_->push(streamTags_.msg);
}
} }
if (baseMessage.type != message_type::kTime) if (baseMessage.type != message_type::kTime)
@ -214,7 +215,7 @@ void Controller::worker()
throw SnapException(async_exception_->what()); throw SnapException(async_exception_->what());
} }
shared_ptr<msg::Time> reply = clientConnection_->sendReq<msg::Time>(&timeReq, chronos::msec(2000)); auto reply = clientConnection_->sendReq<msg::Time>(&timeReq, chronos::msec(2000));
if (reply) if (reply)
{ {
TimeProvider::getInstance().setDiff(reply->latency, reply->received - reply->sent); TimeProvider::getInstance().setDiff(reply->latency, reply->received - reply->sent);

View file

@ -76,9 +76,8 @@ private:
std::unique_ptr<decoder::Decoder> decoder_; std::unique_ptr<decoder::Decoder> decoder_;
std::unique_ptr<Player> player_; std::unique_ptr<Player> player_;
std::shared_ptr<MetadataAdapter> meta_; std::shared_ptr<MetadataAdapter> meta_;
std::shared_ptr<msg::ServerSettings> serverSettings_; std::unique_ptr<msg::ServerSettings> serverSettings_;
std::shared_ptr<msg::StreamTags> streamTags_; std::unique_ptr<msg::CodecHeader> headerChunk_;
std::shared_ptr<msg::CodecHeader> headerChunk_;
std::mutex receiveMutex_; std::mutex receiveMutex_;
shared_exception_ptr async_exception_; shared_exception_ptr async_exception_;

View file

@ -44,24 +44,24 @@ public:
void reset() void reset()
{ {
msg_.reset(new json); msg_ = json{};
} }
std::string serialize() std::string serialize()
{ {
return METADATA + ":" + msg_->dump(); return METADATA + ":" + msg_.dump();
} }
void tag(std::string name, std::string value) void tag(const std::string& name, const std::string& value)
{ {
(*msg_)[name] = value; msg_[name] = value;
} }
std::string operator[](std::string key) std::string operator[](const std::string& key)
{ {
try try
{ {
return (*msg_)[key]; return msg_[key];
} }
catch (std::domain_error&) catch (std::domain_error&)
{ {
@ -75,14 +75,14 @@ public:
return 0; return 0;
} }
int push(json& jtag) int push(const json& jtag)
{ {
msg_.reset(new json(jtag)); msg_ = jtag;
return push(); return push();
} }
protected: protected:
std::shared_ptr<json> msg_; json msg_;
}; };
/* /*