diff options
author | Pieter Noordhuis <pcnoordhuis@gmail.com> | 2010-10-15 15:50:29 +0200 |
---|---|---|
committer | Pieter Noordhuis <pcnoordhuis@gmail.com> | 2010-10-15 15:50:29 +0200 |
commit | 00cf82c0bd9e0272a06f086b00a70d5d5d0f5e31 (patch) | |
tree | 0ac67551fb279d6e54297c240c9c6cc4cc327fc4 /tests/support | |
parent | cd8788f26d06d8643828024537b8abe2b702759f (diff) | |
download | redis-00cf82c0bd9e0272a06f086b00a70d5d5d0f5e31.tar.gz |
Change tcl client to only use the multibulk protocol
Diffstat (limited to 'tests/support')
-rw-r--r-- | tests/support/redis.tcl | 44 |
1 files changed, 7 insertions, 37 deletions
diff --git a/tests/support/redis.tcl b/tests/support/redis.tcl index 98cf86f09..4f8ac485d 100644 --- a/tests/support/redis.tcl +++ b/tests/support/redis.tcl @@ -36,25 +36,6 @@ array set ::redis::deferred {} array set ::redis::callback {} array set ::redis::state {} ;# State in non-blocking reply reading array set ::redis::statestack {} ;# Stack of states, for nested mbulks -array set ::redis::bulkarg {} -array set ::redis::multibulkarg {} - -# Flag commands requiring last argument as a bulk write operation -foreach redis_bulk_cmd { - set setnx rpush lpush rpushx lpushx linsert lset lrem sadd srem sismember echo getset smove zadd zrem zscore zincrby append zrank zrevrank hget hdel hexists setex publish -} { - set ::redis::bulkarg($redis_bulk_cmd) {} -} - -# Flag commands requiring last argument as a bulk write operation -foreach redis_multibulk_cmd { - mset msetnx hset hsetnx hmset hmget -} { - set ::redis::multibulkarg($redis_multibulk_cmd) {} -} - -unset redis_bulk_cmd -unset redis_multibulk_cmd proc redis {{server 127.0.0.1} {port 6379} {defer 0}} { set fd [socket $server $port] @@ -79,25 +60,14 @@ proc ::redis::__dispatch__ {id method args} { set args [lrange $args 0 end-1] } if {[info command ::redis::__method__$method] eq {}} { - if {[info exists ::redis::bulkarg($method)]} { - set cmd "$method " - append cmd [join [lrange $args 0 end-1]] - append cmd " [string length [lindex $args end]]\r\n" - append cmd [lindex $args end] - ::redis::redis_writenl $fd $cmd - } elseif {[info exists ::redis::multibulkarg($method)]} { - set cmd "*[expr {[llength $args]+1}]\r\n" - append cmd "$[string length $method]\r\n$method\r\n" - foreach a $args { - append cmd "$[string length $a]\r\n$a\r\n" - } - ::redis::redis_write $fd $cmd - flush $fd - } else { - set cmd "$method " - append cmd [join $args] - ::redis::redis_writenl $fd $cmd + set cmd "*[expr {[llength $args]+1}]\r\n" + append cmd "$[string length $method]\r\n$method\r\n" + foreach a $args { + append cmd "$[string length $a]\r\n$a\r\n" } + ::redis::redis_write $fd $cmd + flush $fd + if {!$deferred} { if {$blocking} { ::redis::redis_read_reply $fd |