+ local k = string.lower(key)
+ if k == "binary" then
+ value = tonumber(value)
+ local data = {}
+ while value > 0 do
+ local b = assert(obj:read_bytes(value))
+ table.insert(data, b.data)
+ value = value - #b
+ end
+ local w = obj:read_bytes(1) -- read newline at end of binary
+ self._pending_reply[k] = table.concat(data)
+ elseif k == "changed" then
+ if not self._pending_reply[k] then
+ self._pending_reply[k] = {}
+ end
+
+ self._pending_reply[k][value] = true
+ else
+ self._pending_reply[k] = value
+ end