Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
100d43c1
Commit
100d43c1
authored
Sep 05, 2017
by
antirez
Browse files
Streams: assign value of 6 to OBJ_STREAM + some refactoring.
parent
79866a63
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/rdb.h
View file @
100d43c1
...
...
@@ -69,8 +69,9 @@
#define RDB_ENC_INT32 2
/* 32 bit signed integer */
#define RDB_ENC_LZF 3
/* string compressed with FASTLZ */
/* Dup object types to RDB object types. Only reason is readability (are we
* dealing with RDB types or with in-memory object types?). */
/* Map object types to RDB object types. Macros starting with OBJ_ are for
* memory storage and may change. Instead RDB types must be fixed because
* we store them on disk. */
#define RDB_TYPE_STRING 0
#define RDB_TYPE_LIST 1
#define RDB_TYPE_SET 2
...
...
src/server.h
View file @
100d43c1
...
...
@@ -447,12 +447,11 @@ typedef long long mstime_t; /* millisecond time type. */
/* A redis object, that is a type able to hold a string / list / set */
/* The actual Redis Object */
#define OBJ_STRING 0
#define OBJ_LIST 1
#define OBJ_SET 2
#define OBJ_ZSET 3
#define OBJ_HASH 4
#define OBJ_STREAM 5
#define OBJ_STRING 0
/* String object. */
#define OBJ_LIST 1
/* List object. */
#define OBJ_SET 2
/* Set object. */
#define OBJ_ZSET 3
/* Sorted set object. */
#define OBJ_HASH 4
/* Hash object. */
/* The "module" object type is a special one that signals that the object
* is one directly managed by a Redis module. In this case the value points
...
...
@@ -465,7 +464,8 @@ typedef long long mstime_t; /* millisecond time type. */
* by a 64 bit module type ID, which has a 54 bits module-specific signature
* in order to dispatch the loading to the right module, plus a 10 bits
* encoding version. */
#define OBJ_MODULE 5
#define OBJ_MODULE 5
/* Module object. */
#define OBJ_STREAM 6
/* Stream object. */
/* Extract encver / signature from a module type ID. */
#define REDISMODULE_TYPE_ENCVER_BITS 10
...
...
src/t_stream.c
View file @
100d43c1
...
...
@@ -149,7 +149,13 @@ void streamAppendItem(stream *s, robj **argv, int numfields, streamID *added_id)
memcpy
(
rax_key
,
ri
.
key
,
sizeof
(
rax_key
));
}
/* Populate the listpack with the new entry. */
/* Populate the listpack with the new entry. We use the following
* encoding:
*
* +--------+----------+-------+-------+-/-+-------+-------+
* |entry-id|num-fields|field-1|value-1|...|field-N|value-N|
* +--------+----------+-------+-------+-/-+-------+-------+
*/
lp
=
lpAppend
(
lp
,(
unsigned
char
*
)
entry_id
,
sizeof
(
entry_id
));
lp
=
lpAppendInteger
(
lp
,
numfields
);
for
(
int
i
=
0
;
i
<
numfields
;
i
++
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment