MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / serializeStoredObject

Function serializeStoredObject

src/object.cpp:1667–1694  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1665}
1666
1667sds serializeStoredObject(robj_roptr o, sds sdsPrefix)
1668{
1669 switch (o->type)
1670 {
1671 case OBJ_STRING:
1672 {
1673 sds sdsT = nullptr;
1674 if (sdsPrefix)
1675 sdsT = sdsgrowzero(sdsPrefix, sdslen(sdsPrefix)+1);
1676 else
1677 sdsT = sdsnewlen(nullptr, 1);
1678 sdsT[sdslen(sdsT)-1] = RDB_TYPE_STRING;
1679 return serializeStoredStringObject(sdsT, o);
1680 }
1681
1682 default:
1683 rio rdb;
1684 createDumpPayload(&rdb,o,nullptr);
1685 if (sdsPrefix)
1686 {
1687 sds rval = sdscatsds(sdsPrefix, (sds)rdb.io.buffer.ptr);
1688 sdsfree((sds)rdb.io.buffer.ptr);
1689 return rval;
1690 }
1691 return (sds)rdb.io.buffer.ptr;
1692 }
1693 serverPanic("Attempting to store unknown object type");
1694}
1695
1696redisObjectStack::redisObjectStack()
1697{

Callers 2

ensureMethod · 0.85

Calls 7

sdsgrowzeroFunction · 0.85
sdslenFunction · 0.85
sdsnewlenFunction · 0.85
createDumpPayloadFunction · 0.85
sdscatsdsFunction · 0.85
sdsfreeFunction · 0.85

Tested by

no test coverage detected