From ecffa9f5e719ee3e236b84645c4c6992693bf30a Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Tue, 24 Feb 2015 16:15:01 -0800 Subject: Redis network config master work, and the beginnings of some actual unit test code. --- netconf/RedisNetworkConfigMaster.cpp | 37 ++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) (limited to 'netconf/RedisNetworkConfigMaster.cpp') diff --git a/netconf/RedisNetworkConfigMaster.cpp b/netconf/RedisNetworkConfigMaster.cpp index f7be2698..f6d310dd 100644 --- a/netconf/RedisNetworkConfigMaster.cpp +++ b/netconf/RedisNetworkConfigMaster.cpp @@ -87,7 +87,7 @@ NetworkConfigMaster::ResultCode RedisNetworkConfigMaster::doNetworkConfigRequest // Check to make sure network itself exists and is valid if (!_hget(nwKey,"id",tmps2)) { - netconf["error"] = "Redis error retrieving network record"; + netconf["error"] = "Redis error retrieving network record ID field"; return NetworkConfigMaster::NETCONF_QUERY_INTERNAL_SERVER_ERROR; } if (tmps2 != nwids) @@ -317,6 +317,30 @@ bool RedisNetworkConfigMaster::_get(const char *key,std::string &value) return true; } +bool RedisNetworkConfigMaster::_sadd(const char *key,const char *value) +{ + if (!_rc) { + if (!_reconnect()) + return false; + } + + redisReply *reply = (redisReply *)redisCommand(_rc,"SADD %s %s",key,value); + if (!reply) { + if (_reconnect()) + return _sadd(key,value); + return false; + } + + if (reply->type == REDIS_REPLY_ERROR) { + freeReplyObject(reply); + return false; + } + + freeReplyObject(reply); + + return true; +} + bool RedisNetworkConfigMaster::_smembers(const char *key,std::vector &sdata) { if (!_rc) { @@ -344,13 +368,14 @@ bool RedisNetworkConfigMaster::_smembers(const char *key,std::vector