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
4086dff4
Commit
4086dff4
authored
Sep 07, 2017
by
antirez
Browse files
Streams: augment client.bpop with XREAD specific fields.
parent
f80dfbf4
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/blocked.c
View file @
4086dff4
...
...
@@ -384,6 +384,10 @@ void unblockClientWaitingData(client *c) {
decrRefCount
(
c
->
bpop
.
target
);
c
->
bpop
.
target
=
NULL
;
}
if
(
c
->
bpop
.
xread_group
)
{
decrRefCount
(
c
->
bpop
.
xread_group
);
c
->
bpop
.
xread_group
=
NULL
;
}
}
/* If the specified key has clients blocked waiting for list pushes, this
...
...
src/networking.c
View file @
4086dff4
...
...
@@ -126,6 +126,7 @@ client *createClient(int fd) {
c
->
bpop
.
timeout
=
0
;
c
->
bpop
.
keys
=
dictCreate
(
&
objectKeyHeapPointerValueDictType
,
NULL
);
c
->
bpop
.
target
=
NULL
;
c
->
bpop
.
xread_group
=
NULL
;
c
->
bpop
.
numreplicas
=
0
;
c
->
bpop
.
reploffset
=
0
;
c
->
woff
=
0
;
...
...
src/server.h
View file @
4086dff4
...
...
@@ -648,6 +648,11 @@ typedef struct blockingState {
robj
*
target
;
/* The key that should receive the element,
* for BRPOPLPUSH. */
/* BLOCK_STREAM */
size_t
xread_count
;
/* XREAD COUNT option. */
robj
*
xread_group
;
/* XREAD group name. */
mstime_t
xread_retry_time
,
xread_retry_ttl
;
/* BLOCKED_WAIT */
int
numreplicas
;
/* Number of replicas we are waiting for ACK. */
long
long
reploffset
;
/* Replication offset to reach. */
...
...
src/t_stream.c
View file @
4086dff4
...
...
@@ -392,3 +392,11 @@ void xlenCommand(client *c) {
stream
*
s
=
o
->
ptr
;
addReplyLongLong
(
c
,
s
->
length
);
}
/* XREAD [BLOCK <milliseconds>] [COUNT <count>] [GROUP <groupname> <ttl>]
* [RETRY <milliseconds> <ttl>] STREAMS key_1 ID_1 key_2 ID_2 ...
* key_N ID_N */
void
xreadCommand
(
client
*
c
)
{
}
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