mirror of
https://github.com/deepseek-ai/3FS
synced 2025-06-26 18:16:45 +00:00
Minor optimize copying of shared_ptr in IBSocket and StorageTargets (#56)
This commit is contained in:
parent
f05d2bf8a7
commit
fcb915b050
@ -1107,7 +1107,7 @@ IBSocket::Drainer::Ptr IBSocket::Drainer::create(IBSocket::Ptr socket, std::weak
|
|||||||
|
|
||||||
IBSocket::Drainer::Drainer(IBSocket::Ptr socket, std::weak_ptr<IBSocketManager> manager)
|
IBSocket::Drainer::Drainer(IBSocket::Ptr socket, std::weak_ptr<IBSocketManager> manager)
|
||||||
: socket_(std::move(socket)),
|
: socket_(std::move(socket)),
|
||||||
manager_(manager) {
|
manager_(std::move(manager)) {
|
||||||
draining.addSample(1);
|
draining.addSample(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -570,7 +570,7 @@ class IBSocketManager : public EventLoop::EventHandler, public std::enable_share
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
friend class IBSocket::Drainer;
|
friend class IBSocket::Drainer;
|
||||||
void remove(IBSocket::Drainer::Ptr drainer) { drainers_.lock()->erase(drainer); }
|
void remove(const IBSocket::Drainer::Ptr &drainer) { drainers_.lock()->erase(drainer); }
|
||||||
|
|
||||||
FdWrapper timer_;
|
FdWrapper timer_;
|
||||||
folly::Synchronized<std::set<IBSocket::Drainer::Ptr>, std::mutex> drainers_;
|
folly::Synchronized<std::set<IBSocket::Drainer::Ptr>, std::mutex> drainers_;
|
||||||
|
|||||||
@ -115,7 +115,7 @@ Result<Void> StorageTargets::create(const CreateConfig &createConfig) {
|
|||||||
targetConfig.only_chunk_engine = createConfig.only_chunk_engine();
|
targetConfig.only_chunk_engine = createConfig.only_chunk_engine();
|
||||||
RETURN_AND_LOG_ON_ERROR(storageTarget->create(targetConfig));
|
RETURN_AND_LOG_ON_ERROR(storageTarget->create(targetConfig));
|
||||||
++idx;
|
++idx;
|
||||||
RETURN_AND_LOG_ON_ERROR(targetMap_.addStorageTarget(storageTarget));
|
RETURN_AND_LOG_ON_ERROR(targetMap_.addStorageTarget(std::move(storageTarget)));
|
||||||
}
|
}
|
||||||
return Void{};
|
return Void{};
|
||||||
}
|
}
|
||||||
@ -189,7 +189,7 @@ Result<Void> StorageTargets::create(const CreateTargetReq &req) {
|
|||||||
targetConfig.only_chunk_engine = req.onlyChunkEngine;
|
targetConfig.only_chunk_engine = req.onlyChunkEngine;
|
||||||
RETURN_AND_LOG_ON_ERROR(storageTarget->create(targetConfig));
|
RETURN_AND_LOG_ON_ERROR(storageTarget->create(targetConfig));
|
||||||
XLOGF(INFO, "Create storage target {} at {}", storageTarget->targetId(), targetPath.string());
|
XLOGF(INFO, "Create storage target {} at {}", storageTarget->targetId(), targetPath.string());
|
||||||
RETURN_AND_LOG_ON_ERROR(targetMap_.addStorageTarget(storageTarget));
|
RETURN_AND_LOG_ON_ERROR(targetMap_.addStorageTarget(std::move(storageTarget)));
|
||||||
return Void{};
|
return Void{};
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -242,7 +242,7 @@ Result<Void> StorageTargets::loadTarget(const Path &targetPath) {
|
|||||||
XLOG(ERR, msg);
|
XLOG(ERR, msg);
|
||||||
return makeError(StorageCode::kStorageInitFailed, std::move(msg));
|
return makeError(StorageCode::kStorageInitFailed, std::move(msg));
|
||||||
}
|
}
|
||||||
RETURN_AND_LOG_ON_ERROR(targetMap_.addStorageTarget(storageTarget));
|
RETURN_AND_LOG_ON_ERROR(targetMap_.addStorageTarget(std::move(storageTarget)));
|
||||||
return Void{};
|
return Void{};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user