Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Promise<redis::ConnectionPtr> RedisStorage::_connect(const std::string& host, int port) {
- return redis::LocalConnection::establish(loop(), host, port)
- .thenDo<redis::ConnectionPtr>([host, port](redis::LocalConnectionPtr result) {
- return result->info().thenDo<redis::ConnectionPtr>([result](
- redis::LocalConnection::Properties info) {
- if(info["cluster_enabled"] == "1")
- return redis::ClusterConnection::establish(result)
- .thenDo<redis::MultiClusterConnectionPtr>([](
- redis::ClusterConnectionPtr connection) {
- return redis::MultiClusterConnection::establish(connection);
- })
- .then<redis::ConnectionPtr>([](redis::MultiClusterConnectionPtr connection)
- {
- return std::dynamic_pointer_cast<redis::Connection>(connection);
- });
- return Promise<redis::ConnectionPtr>::success(result);
- });
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement