1 #ifndef REDIS_INTERNAL_H
2 #define REDIS_INTERNAL_H
10 #define CRLF F("\r\n")
11 #define ARDUINO_REDIS_SERIAL_TRACE 0
13 #define sprint(fmt, ...) do { if (ARDUINO_REDIS_SERIAL_TRACE) Serial.printf("[TRACE] " fmt, ##__VA_ARGS__); } while (0)
15 typedef std::vector<String> ArgList;
44 static std::shared_ptr<RedisObject> parseType(Client&);
51 virtual void init(Client& client);
58 virtual operator String() {
return data; }
60 Type type()
const {
return _type; }
64 Type _type = Type::NoType;
73 virtual String
RESP()
override;
83 virtual void init(Client& client)
override;
85 virtual String
RESP()
override;
95 void add(std::shared_ptr<RedisObject> param) { vec.push_back(param); }
97 operator std::vector<String>()
const;
99 virtual void init(Client& client)
override;
101 virtual String
RESP()
override;
104 std::vector<std::shared_ptr<RedisObject>> vec;
113 operator int() {
return data.toInt(); }
114 operator bool() {
return (
bool)
operator int(); }
132 virtual String
RESP()
override {
return "INTERNAL ERROR: " + data; }
145 for (
auto arg : args) {
157 std::shared_ptr<RedisObject>
issue(Client& cmdClient);
159 template <
typename T>
160 T issue_typed(Client& cmdClient);
165 #endif // REDIS_INTERNAL_H