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);
54 virtual String
RESP() = 0;
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
virtual String RESP() override
virtual void init(Client &client)