1 /* 2 * Hunt - A redis client library for D programming language. 3 * 4 * Copyright (C) 2018-2019 HuntLabs 5 * 6 * Website: https://www.huntlabs.net/ 7 * 8 * Licensed under the Apache-2.0 License. 9 * 10 */ 11 12 module hunt.redis.PipelineBase; 13 14 import hunt.redis.BitPosParams; 15 import hunt.redis.BuilderFactory; 16 import hunt.redis.Client; 17 import hunt.redis.GeoCoordinate; 18 import hunt.redis.GeoRadiusResponse; 19 import hunt.redis.GeoUnit; 20 import hunt.redis.ListPosition; 21 import hunt.redis.Queable; 22 import hunt.redis.Response; 23 import hunt.redis.SortingParams; 24 import hunt.redis.StreamEntry; 25 import hunt.redis.StreamEntryID; 26 import hunt.redis.StreamPendingEntry; 27 import hunt.redis.Tuple; 28 29 import hunt.collection.List; 30 import hunt.collection.Map; 31 import hunt.collection.Set; 32 33 import hunt.redis.commands.BinaryRedisPipeline; 34 import hunt.redis.Protocol; 35 import hunt.redis.commands.RedisPipeline; 36 import hunt.redis.params.GeoRadiusParam; 37 import hunt.redis.params.SetParams; 38 import hunt.redis.params.ZAddParams; 39 import hunt.redis.params.ZIncrByParams; 40 41 import hunt.Boolean; 42 import hunt.Double; 43 import hunt.Long; 44 45 import std.conv; 46 47 abstract class PipelineBase : Queable, BinaryRedisPipeline, RedisPipeline { 48 49 protected abstract Client getClient(string key); 50 51 protected abstract Client getClient(const(ubyte)[] key); 52 53 // override 54 Response!(Long) append(string key, string value) { 55 getClient(key).append(key, value); 56 return getResponse(BuilderFactory.LONG); 57 } 58 59 // override 60 Response!(Long) append(const(ubyte)[] key, const(ubyte)[] value) { 61 getClient(key).append(key, value); 62 return getResponse(BuilderFactory.LONG); 63 } 64 65 // override 66 Response!(List!(string)) blpop(string key) { 67 string[] temp = new string[1]; 68 temp[0] = key; 69 getClient(key).blpop(temp); 70 return getResponse(BuilderFactory.STRING_LIST); 71 } 72 73 // override 74 Response!(List!(string)) brpop(string key) { 75 string[] temp = new string[1]; 76 temp[0] = key; 77 getClient(key).brpop(temp); 78 return getResponse(BuilderFactory.STRING_LIST); 79 } 80 81 // override 82 Response!(List!(const(ubyte)[])) blpop(const(ubyte)[] key) { 83 const(ubyte)[][] temp = new const(ubyte)[][1]; 84 temp[0] = key; 85 getClient(key).blpop(temp); 86 return getResponse(BuilderFactory.BYTE_ARRAY_LIST); 87 } 88 89 // override 90 Response!(List!(const(ubyte)[])) brpop(const(ubyte)[] key) { 91 const(ubyte)[][] temp = new const(ubyte)[][1]; 92 temp[0] = key; 93 getClient(key).brpop(temp); 94 return getResponse(BuilderFactory.BYTE_ARRAY_LIST); 95 } 96 97 // override 98 Response!(Long) decr(string key) { 99 getClient(key).decr(key); 100 return getResponse(BuilderFactory.LONG); 101 } 102 103 // override 104 Response!(Long) decr(const(ubyte)[] key) { 105 getClient(key).decr(key); 106 return getResponse(BuilderFactory.LONG); 107 } 108 109 // override 110 Response!(Long) decrBy(string key, long decrement) { 111 getClient(key).decrBy(key, decrement); 112 return getResponse(BuilderFactory.LONG); 113 } 114 115 // override 116 Response!(Long) decrBy(const(ubyte)[] key, long decrement) { 117 getClient(key).decrBy(key, decrement); 118 return getResponse(BuilderFactory.LONG); 119 } 120 121 // override 122 Response!(Long) del(string key) { 123 getClient(key).del(key); 124 return getResponse(BuilderFactory.LONG); 125 } 126 127 // override 128 Response!(Long) del(const(ubyte)[] key) { 129 getClient(key).del(key); 130 return getResponse(BuilderFactory.LONG); 131 } 132 133 // override 134 Response!(Long) unlink(string key) { 135 getClient(key).unlink(key); 136 return getResponse(BuilderFactory.LONG); 137 } 138 139 // override 140 Response!(Long) unlink(const(ubyte)[] key) { 141 getClient(key).unlink(key); 142 return getResponse(BuilderFactory.LONG); 143 } 144 145 // override 146 Response!(string) echo(string string) { 147 getClient(string).echo(string); 148 return getResponse(BuilderFactory.STRING); 149 } 150 151 // override 152 Response!(const(ubyte)[]) echo(const(ubyte)[] string) { 153 getClient(string).echo(string); 154 return getResponse(BuilderFactory.BYTE_ARRAY); 155 } 156 157 // override 158 Response!(Boolean) exists(string key) { 159 getClient(key).exists(key); 160 return getResponse(BuilderFactory.BOOLEAN); 161 } 162 163 // override 164 Response!(Boolean) exists(const(ubyte)[] key) { 165 getClient(key).exists(key); 166 return getResponse(BuilderFactory.BOOLEAN); 167 } 168 169 // override 170 Response!(Long) expire(string key, int seconds) { 171 getClient(key).expire(key, seconds); 172 return getResponse(BuilderFactory.LONG); 173 } 174 175 // override 176 Response!(Long) expire(const(ubyte)[] key, int seconds) { 177 getClient(key).expire(key, seconds); 178 return getResponse(BuilderFactory.LONG); 179 } 180 181 // override 182 Response!(Long) expireAt(string key, long unixTime) { 183 getClient(key).expireAt(key, unixTime); 184 return getResponse(BuilderFactory.LONG); 185 } 186 187 // override 188 Response!(Long) expireAt(const(ubyte)[] key, long unixTime) { 189 getClient(key).expireAt(key, unixTime); 190 return getResponse(BuilderFactory.LONG); 191 } 192 193 // override 194 Response!(string) get(string key) { 195 getClient(key).get(key); 196 return getResponse(BuilderFactory.STRING); 197 } 198 199 // override 200 Response!(const(ubyte)[]) get(const(ubyte)[] key) { 201 getClient(key).get(key); 202 return getResponse(BuilderFactory.BYTE_ARRAY); 203 } 204 205 // override 206 Response!(Boolean) getbit(string key, long offset) { 207 getClient(key).getbit(key, offset); 208 return getResponse(BuilderFactory.BOOLEAN); 209 } 210 211 // override 212 Response!(Boolean) getbit(const(ubyte)[] key, long offset) { 213 getClient(key).getbit(key, offset); 214 return getResponse(BuilderFactory.BOOLEAN); 215 } 216 217 // override 218 Response!(Long) bitpos(string key, bool value) { 219 return bitpos(key, value, new BitPosParams()); 220 } 221 222 // override 223 Response!(Long) bitpos(string key, bool value, BitPosParams params) { 224 getClient(key).bitpos(key, value, params); 225 return getResponse(BuilderFactory.LONG); 226 } 227 228 // override 229 Response!(Long) bitpos(const(ubyte)[] key, bool value) { 230 return bitpos(key, value, new BitPosParams()); 231 } 232 233 // override 234 Response!(Long) bitpos(const(ubyte)[] key, bool value, BitPosParams params) { 235 getClient(key).bitpos(key, value, params); 236 return getResponse(BuilderFactory.LONG); 237 } 238 239 // override 240 Response!(string) getrange(string key, long startOffset, long endOffset) { 241 getClient(key).getrange(key, startOffset, endOffset); 242 return getResponse(BuilderFactory.STRING); 243 } 244 245 // override 246 Response!(string) getSet(string key, string value) { 247 getClient(key).getSet(key, value); 248 return getResponse(BuilderFactory.STRING); 249 } 250 251 // override 252 Response!(const(ubyte)[]) getSet(const(ubyte)[] key, const(ubyte)[] value) { 253 getClient(key).getSet(key, value); 254 return getResponse(BuilderFactory.BYTE_ARRAY); 255 } 256 257 // override 258 Response!(const(ubyte)[]) getrange(const(ubyte)[] key, long startOffset, long endOffset) { 259 getClient(key).getrange(key, startOffset, endOffset); 260 return getResponse(BuilderFactory.BYTE_ARRAY); 261 } 262 263 // override 264 Response!(Long) hdel(string key, string[] field...) { 265 getClient(key).hdel(key, field); 266 return getResponse(BuilderFactory.LONG); 267 } 268 269 // override 270 Response!(Long) hdel(const(ubyte)[] key, const(ubyte)[][] field...) { 271 getClient(key).hdel(key, field); 272 return getResponse(BuilderFactory.LONG); 273 } 274 275 // override 276 Response!(Boolean) hexists(string key, string field) { 277 getClient(key).hexists(key, field); 278 return getResponse(BuilderFactory.BOOLEAN); 279 } 280 281 // override 282 Response!(Boolean) hexists(const(ubyte)[] key, const(ubyte)[] field) { 283 getClient(key).hexists(key, field); 284 return getResponse(BuilderFactory.BOOLEAN); 285 } 286 287 // override 288 Response!(string) hget(string key, string field) { 289 getClient(key).hget(key, field); 290 return getResponse(BuilderFactory.STRING); 291 } 292 293 // override 294 Response!(const(ubyte)[]) hget(const(ubyte)[] key, const(ubyte)[] field) { 295 getClient(key).hget(key, field); 296 return getResponse(BuilderFactory.BYTE_ARRAY); 297 } 298 299 // override 300 Response!(Map!(string, string)) hgetAll(string key) { 301 getClient(key).hgetAll(key); 302 return getResponse(BuilderFactory.STRING_MAP); 303 } 304 305 // override 306 Response!(Map!(const(ubyte)[], const(ubyte)[])) hgetAll(const(ubyte)[] key) { 307 getClient(key).hgetAll(key); 308 return getResponse(BuilderFactory.BYTE_ARRAY_MAP); 309 } 310 311 // override 312 Response!(Long) hincrBy(string key, string field, long value) { 313 getClient(key).hincrBy(key, field, value); 314 return getResponse(BuilderFactory.LONG); 315 } 316 317 // override 318 Response!(Long) hincrBy(const(ubyte)[] key, const(ubyte)[] field, long value) { 319 getClient(key).hincrBy(key, field, value); 320 return getResponse(BuilderFactory.LONG); 321 } 322 323 // override 324 Response!(Set!(string)) hkeys(string key) { 325 getClient(key).hkeys(key); 326 return getResponse(BuilderFactory.STRING_SET); 327 } 328 329 // override 330 Response!(Set!(const(ubyte)[])) hkeys(const(ubyte)[] key) { 331 getClient(key).hkeys(key); 332 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 333 } 334 335 // override 336 Response!(Long) hlen(string key) { 337 getClient(key).hlen(key); 338 return getResponse(BuilderFactory.LONG); 339 } 340 341 // override 342 Response!(Long) hlen(const(ubyte)[] key) { 343 getClient(key).hlen(key); 344 return getResponse(BuilderFactory.LONG); 345 } 346 347 // override 348 Response!(List!(string)) hmget(string key, string[] fields...) { 349 getClient(key).hmget(key, fields); 350 return getResponse(BuilderFactory.STRING_LIST); 351 } 352 353 // override 354 Response!(List!(const(ubyte)[])) hmget(const(ubyte)[] key, const(ubyte)[][] fields...) { 355 getClient(key).hmget(key, fields); 356 return getResponse(BuilderFactory.BYTE_ARRAY_LIST); 357 } 358 359 // override 360 Response!(string) hmset(string key, Map!(string, string) hash) { 361 getClient(key).hmset(key, hash); 362 return getResponse(BuilderFactory.STRING); 363 } 364 365 // override 366 Response!(string) hmset(const(ubyte)[] key, Map!(const(ubyte)[], const(ubyte)[]) hash) { 367 getClient(key).hmset(key, hash); 368 return getResponse(BuilderFactory.STRING); 369 } 370 371 // override 372 Response!(Long) hset(string key, string field, string value) { 373 getClient(key).hset(key, field, value); 374 return getResponse(BuilderFactory.LONG); 375 } 376 377 // override 378 Response!(Long) hset(const(ubyte)[] key, const(ubyte)[] field, const(ubyte)[] value) { 379 getClient(key).hset(key, field, value); 380 return getResponse(BuilderFactory.LONG); 381 } 382 383 // override 384 Response!(Long) hset(string key, Map!(string, string) hash) { 385 getClient(key).hset(key, hash); 386 return getResponse(BuilderFactory.LONG); 387 } 388 389 // override 390 Response!(Long) hset(const(ubyte)[] key, Map!(const(ubyte)[], const(ubyte)[]) hash) { 391 getClient(key).hset(key, hash); 392 return getResponse(BuilderFactory.LONG); 393 } 394 395 // override 396 Response!(Long) hsetnx(string key, string field, string value) { 397 getClient(key).hsetnx(key, field, value); 398 return getResponse(BuilderFactory.LONG); 399 } 400 401 // override 402 Response!(Long) hsetnx(const(ubyte)[] key, const(ubyte)[] field, const(ubyte)[] value) { 403 getClient(key).hsetnx(key, field, value); 404 return getResponse(BuilderFactory.LONG); 405 } 406 407 // override 408 Response!(List!(string)) hvals(string key) { 409 getClient(key).hvals(key); 410 return getResponse(BuilderFactory.STRING_LIST); 411 } 412 413 // override 414 Response!(List!(const(ubyte)[])) hvals(const(ubyte)[] key) { 415 getClient(key).hvals(key); 416 return getResponse(BuilderFactory.BYTE_ARRAY_LIST); 417 } 418 419 // override 420 Response!(Long) incr(string key) { 421 getClient(key).incr(key); 422 return getResponse(BuilderFactory.LONG); 423 } 424 425 // override 426 Response!(Long) incr(const(ubyte)[] key) { 427 getClient(key).incr(key); 428 return getResponse(BuilderFactory.LONG); 429 } 430 431 // override 432 Response!(Long) incrBy(string key, long increment) { 433 getClient(key).incrBy(key, increment); 434 return getResponse(BuilderFactory.LONG); 435 } 436 437 // override 438 Response!(Long) incrBy(const(ubyte)[] key, long increment) { 439 getClient(key).incrBy(key, increment); 440 return getResponse(BuilderFactory.LONG); 441 } 442 443 // override 444 Response!(string) lindex(string key, long index) { 445 getClient(key).lindex(key, index); 446 return getResponse(BuilderFactory.STRING); 447 } 448 449 // override 450 Response!(const(ubyte)[]) lindex(const(ubyte)[] key, long index) { 451 getClient(key).lindex(key, index); 452 return getResponse(BuilderFactory.BYTE_ARRAY); 453 } 454 455 // override 456 Response!(Long) linsert(string key, ListPosition where, string pivot, string value) { 457 getClient(key).linsert(key, where, pivot, value); 458 return getResponse(BuilderFactory.LONG); 459 } 460 461 // override 462 Response!(Long) linsert(const(ubyte)[] key, ListPosition where, const(ubyte)[] pivot, const(ubyte)[] value) { 463 getClient(key).linsert(key, where, pivot, value); 464 return getResponse(BuilderFactory.LONG); 465 } 466 467 // override 468 Response!(Long) llen(string key) { 469 getClient(key).llen(key); 470 return getResponse(BuilderFactory.LONG); 471 } 472 473 // override 474 Response!(Long) llen(const(ubyte)[] key) { 475 getClient(key).llen(key); 476 return getResponse(BuilderFactory.LONG); 477 } 478 479 // override 480 Response!(string) lpop(string key) { 481 getClient(key).lpop(key); 482 return getResponse(BuilderFactory.STRING); 483 } 484 485 // override 486 Response!(const(ubyte)[]) lpop(const(ubyte)[] key) { 487 getClient(key).lpop(key); 488 return getResponse(BuilderFactory.BYTE_ARRAY); 489 } 490 491 // override 492 Response!(Long) lpush(string key, string[] string...) { 493 getClient(key).lpush(key, string); 494 return getResponse(BuilderFactory.LONG); 495 } 496 497 // override 498 Response!(Long) lpush(const(ubyte)[] key, const(ubyte)[][] string...) { 499 getClient(key).lpush(key, string); 500 return getResponse(BuilderFactory.LONG); 501 } 502 503 // override 504 Response!(Long) lpushx(string key, string[] string...) { 505 getClient(key).lpushx(key, string); 506 return getResponse(BuilderFactory.LONG); 507 } 508 509 // override 510 Response!(Long) lpushx(const(ubyte)[] key, const(ubyte)[][] bytes...) { 511 getClient(key).lpushx(key, bytes); 512 return getResponse(BuilderFactory.LONG); 513 } 514 515 // override 516 Response!(List!(string)) lrange(string key, long start, long stop) { 517 getClient(key).lrange(key, start, stop); 518 return getResponse(BuilderFactory.STRING_LIST); 519 } 520 521 // override 522 Response!(List!(const(ubyte)[])) lrange(const(ubyte)[] key, long start, long stop) { 523 getClient(key).lrange(key, start, stop); 524 return getResponse(BuilderFactory.BYTE_ARRAY_LIST); 525 } 526 527 // override 528 Response!(Long) lrem(string key, long count, string value) { 529 getClient(key).lrem(key, count, value); 530 return getResponse(BuilderFactory.LONG); 531 } 532 533 // override 534 Response!(Long) lrem(const(ubyte)[] key, long count, const(ubyte)[] value) { 535 getClient(key).lrem(key, count, value); 536 return getResponse(BuilderFactory.LONG); 537 } 538 539 // override 540 Response!(string) lset(string key, long index, string value) { 541 getClient(key).lset(key, index, value); 542 return getResponse(BuilderFactory.STRING); 543 } 544 545 // override 546 Response!(string) lset(const(ubyte)[] key, long index, const(ubyte)[] value) { 547 getClient(key).lset(key, index, value); 548 return getResponse(BuilderFactory.STRING); 549 } 550 551 // override 552 Response!(string) ltrim(string key, long start, long stop) { 553 getClient(key).ltrim(key, start, stop); 554 return getResponse(BuilderFactory.STRING); 555 } 556 557 // override 558 Response!(string) ltrim(const(ubyte)[] key, long start, long stop) { 559 getClient(key).ltrim(key, start, stop); 560 return getResponse(BuilderFactory.STRING); 561 } 562 563 // override 564 Response!(Long) move(string key, int dbIndex) { 565 getClient(key).move(key, dbIndex); 566 return getResponse(BuilderFactory.LONG); 567 } 568 569 // override 570 Response!(Long) move(const(ubyte)[] key, int dbIndex) { 571 getClient(key).move(key, dbIndex); 572 return getResponse(BuilderFactory.LONG); 573 } 574 575 // override 576 Response!(Long) persist(string key) { 577 getClient(key).persist(key); 578 return getResponse(BuilderFactory.LONG); 579 } 580 581 // override 582 Response!(Long) persist(const(ubyte)[] key) { 583 getClient(key).persist(key); 584 return getResponse(BuilderFactory.LONG); 585 } 586 587 // override 588 Response!(string) rpop(string key) { 589 getClient(key).rpop(key); 590 return getResponse(BuilderFactory.STRING); 591 } 592 593 // override 594 Response!(const(ubyte)[]) rpop(const(ubyte)[] key) { 595 getClient(key).rpop(key); 596 return getResponse(BuilderFactory.BYTE_ARRAY); 597 } 598 599 // override 600 Response!(Long) rpush(string key, string[] string...) { 601 getClient(key).rpush(key, string); 602 return getResponse(BuilderFactory.LONG); 603 } 604 605 // override 606 Response!(Long) rpush(const(ubyte)[] key, const(ubyte)[][] string...) { 607 getClient(key).rpush(key, string); 608 return getResponse(BuilderFactory.LONG); 609 } 610 611 // override 612 Response!(Long) rpushx(string key, string[] string...) { 613 getClient(key).rpushx(key, string); 614 return getResponse(BuilderFactory.LONG); 615 } 616 617 // override 618 Response!(Long) rpushx(const(ubyte)[] key, const(ubyte)[][] string...) { 619 getClient(key).rpushx(key, string); 620 return getResponse(BuilderFactory.LONG); 621 } 622 623 // override 624 Response!(Long) sadd(string key, string[] member...) { 625 getClient(key).sadd(key, member); 626 return getResponse(BuilderFactory.LONG); 627 } 628 629 // override 630 Response!(Long) sadd(const(ubyte)[] key, const(ubyte)[][] member...) { 631 getClient(key).sadd(key, member); 632 return getResponse(BuilderFactory.LONG); 633 } 634 635 // override 636 Response!(Long) scard(string key) { 637 getClient(key).scard(key); 638 return getResponse(BuilderFactory.LONG); 639 } 640 641 // override 642 Response!(Long) scard(const(ubyte)[] key) { 643 getClient(key).scard(key); 644 return getResponse(BuilderFactory.LONG); 645 } 646 647 // override 648 Response!(string) set(string key, string value) { 649 getClient(key).set(key, value); 650 return getResponse(BuilderFactory.STRING); 651 } 652 653 // override 654 Response!(string) set(const(ubyte)[] key, const(ubyte)[] value) { 655 getClient(key).set(key, value); 656 return getResponse(BuilderFactory.STRING); 657 } 658 659 // override 660 Response!(string) set(string key, string value, SetParams params) { 661 getClient(key).set(key, value, params); 662 return getResponse(BuilderFactory.STRING); 663 } 664 665 // override 666 Response!(string) set(const(ubyte)[] key, const(ubyte)[] value, SetParams params) { 667 getClient(key).set(key, value, params); 668 return getResponse(BuilderFactory.STRING); 669 } 670 671 // override 672 Response!(Boolean) setbit(string key, long offset, bool value) { 673 getClient(key).setbit(key, offset, value); 674 return getResponse(BuilderFactory.BOOLEAN); 675 } 676 677 // override 678 Response!(Boolean) setbit(const(ubyte)[] key, long offset, const(ubyte)[] value) { 679 getClient(key).setbit(key, offset, value); 680 return getResponse(BuilderFactory.BOOLEAN); 681 } 682 683 // override 684 Response!(string) setex(string key, int seconds, string value) { 685 getClient(key).setex(key, seconds, value); 686 return getResponse(BuilderFactory.STRING); 687 } 688 689 // override 690 Response!(string) setex(const(ubyte)[] key, int seconds, const(ubyte)[] value) { 691 getClient(key).setex(key, seconds, value); 692 return getResponse(BuilderFactory.STRING); 693 } 694 695 // override 696 Response!(Long) setnx(string key, string value) { 697 getClient(key).setnx(key, value); 698 return getResponse(BuilderFactory.LONG); 699 } 700 701 // override 702 Response!(Long) setnx(const(ubyte)[] key, const(ubyte)[] value) { 703 getClient(key).setnx(key, value); 704 return getResponse(BuilderFactory.LONG); 705 } 706 707 // override 708 Response!(Long) setrange(string key, long offset, string value) { 709 getClient(key).setrange(key, offset, value); 710 return getResponse(BuilderFactory.LONG); 711 } 712 713 // override 714 Response!(Long) setrange(const(ubyte)[] key, long offset, const(ubyte)[] value) { 715 getClient(key).setrange(key, offset, value); 716 return getResponse(BuilderFactory.LONG); 717 } 718 719 // override 720 Response!(Boolean) sismember(string key, string member) { 721 getClient(key).sismember(key, member); 722 return getResponse(BuilderFactory.BOOLEAN); 723 } 724 725 // override 726 Response!(Boolean) sismember(const(ubyte)[] key, const(ubyte)[] member) { 727 getClient(key).sismember(key, member); 728 return getResponse(BuilderFactory.BOOLEAN); 729 } 730 731 // override 732 Response!(Set!(string)) smembers(string key) { 733 getClient(key).smembers(key); 734 return getResponse(BuilderFactory.STRING_SET); 735 } 736 737 // override 738 Response!(Set!(const(ubyte)[])) smembers(const(ubyte)[] key) { 739 getClient(key).smembers(key); 740 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 741 } 742 743 // override 744 Response!(List!(string)) sort(string key) { 745 getClient(key).sort(key); 746 return getResponse(BuilderFactory.STRING_LIST); 747 } 748 749 // override 750 Response!(List!(const(ubyte)[])) sort(const(ubyte)[] key) { 751 getClient(key).sort(key); 752 return getResponse(BuilderFactory.BYTE_ARRAY_LIST); 753 } 754 755 // override 756 Response!(List!(string)) sort(string key, SortingParams sortingParameters) { 757 getClient(key).sort(key, sortingParameters); 758 return getResponse(BuilderFactory.STRING_LIST); 759 } 760 761 // override 762 Response!(List!(const(ubyte)[])) sort(const(ubyte)[] key, SortingParams sortingParameters) { 763 getClient(key).sort(key, sortingParameters); 764 return getResponse(BuilderFactory.BYTE_ARRAY_LIST); 765 } 766 767 // override 768 Response!(string) spop(string key) { 769 getClient(key).spop(key); 770 return getResponse(BuilderFactory.STRING); 771 } 772 773 // override 774 Response!(Set!(string)) spop(string key, long count) { 775 getClient(key).spop(key, count); 776 return getResponse(BuilderFactory.STRING_SET); 777 } 778 779 // override 780 Response!(const(ubyte)[]) spop(const(ubyte)[] key) { 781 getClient(key).spop(key); 782 return getResponse(BuilderFactory.BYTE_ARRAY); 783 } 784 785 // override 786 Response!(Set!(const(ubyte)[])) spop(const(ubyte)[] key, long count) { 787 getClient(key).spop(key, count); 788 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 789 } 790 791 // override 792 Response!(string) srandmember(string key) { 793 getClient(key).srandmember(key); 794 return getResponse(BuilderFactory.STRING); 795 } 796 797 // override 798 Response!(List!(string)) srandmember(string key, int count) { 799 getClient(key).srandmember(key, count); 800 return getResponse(BuilderFactory.STRING_LIST); 801 } 802 803 // override 804 Response!(const(ubyte)[]) srandmember(const(ubyte)[] key) { 805 getClient(key).srandmember(key); 806 return getResponse(BuilderFactory.BYTE_ARRAY); 807 } 808 809 // override 810 Response!(List!(const(ubyte)[])) srandmember(const(ubyte)[] key, int count) { 811 getClient(key).srandmember(key, count); 812 return getResponse(BuilderFactory.BYTE_ARRAY_LIST); 813 } 814 815 // override 816 Response!(Long) srem(string key, string[] member...) { 817 getClient(key).srem(key, member); 818 return getResponse(BuilderFactory.LONG); 819 } 820 821 // override 822 Response!(Long) srem(const(ubyte)[] key, const(ubyte)[][] member...) { 823 getClient(key).srem(key, member); 824 return getResponse(BuilderFactory.LONG); 825 } 826 827 // override 828 Response!(Long) strlen(string key) { 829 getClient(key).strlen(key); 830 return getResponse(BuilderFactory.LONG); 831 } 832 833 // override 834 Response!(Long) strlen(const(ubyte)[] key) { 835 getClient(key).strlen(key); 836 return getResponse(BuilderFactory.LONG); 837 } 838 839 // override 840 Response!(string) substr(string key, int start, int end) { 841 getClient(key).substr(key, start, end); 842 return getResponse(BuilderFactory.STRING); 843 } 844 845 // override 846 Response!(string) substr(const(ubyte)[] key, int start, int end) { 847 getClient(key).substr(key, start, end); 848 return getResponse(BuilderFactory.STRING); 849 } 850 851 // override 852 Response!(Long) touch(string key) { 853 getClient(key).touch(key); 854 return getResponse(BuilderFactory.LONG); 855 } 856 857 // override 858 Response!(Long) touch(const(ubyte)[] key) { 859 getClient(key).touch(key); 860 return getResponse(BuilderFactory.LONG); 861 } 862 863 // override 864 Response!(Long) ttl(string key) { 865 getClient(key).ttl(key); 866 return getResponse(BuilderFactory.LONG); 867 } 868 869 // override 870 Response!(Long) ttl(const(ubyte)[] key) { 871 getClient(key).ttl(key); 872 return getResponse(BuilderFactory.LONG); 873 } 874 875 // override 876 Response!(string) type(string key) { 877 getClient(key).type(key); 878 return getResponse(BuilderFactory.STRING); 879 } 880 881 // override 882 Response!(string) type(const(ubyte)[] key) { 883 getClient(key).type(key); 884 return getResponse(BuilderFactory.STRING); 885 } 886 887 // override 888 Response!(Long) zadd(string key, double score, string member) { 889 getClient(key).zadd(key, score, member); 890 return getResponse(BuilderFactory.LONG); 891 } 892 893 // override 894 Response!(Long) zadd(string key, double score, string member, ZAddParams params) { 895 getClient(key).zadd(key, score, member, params); 896 return getResponse(BuilderFactory.LONG); 897 } 898 899 // override 900 Response!(Long) zadd(string key, Map!(string, double) scoreMembers) { 901 getClient(key).zadd(key, scoreMembers); 902 return getResponse(BuilderFactory.LONG); 903 } 904 905 // override 906 Response!(Long) zadd(string key, Map!(string, double) scoreMembers, ZAddParams params) { 907 getClient(key).zadd(key, scoreMembers, params); 908 return getResponse(BuilderFactory.LONG); 909 } 910 911 // override 912 Response!(Long) zadd(const(ubyte)[] key, double score, const(ubyte)[] member) { 913 getClient(key).zadd(key, score, member); 914 return getResponse(BuilderFactory.LONG); 915 } 916 917 // override 918 Response!(Long) zadd(const(ubyte)[] key, double score, const(ubyte)[] member, ZAddParams params) { 919 getClient(key).zadd(key, score, member, params); 920 return getResponse(BuilderFactory.LONG); 921 } 922 923 // override 924 Response!(Long) zadd(const(ubyte)[] key, Map!(const(ubyte)[], double) scoreMembers) { 925 getClient(key).zadd(key, scoreMembers); 926 return getResponse(BuilderFactory.LONG); 927 } 928 929 // override 930 Response!(Long) zadd(const(ubyte)[] key, Map!(const(ubyte)[], double) scoreMembers, ZAddParams params) { 931 getClient(key).zadd(key, scoreMembers, params); 932 return getResponse(BuilderFactory.LONG); 933 } 934 935 // override 936 Response!(Long) zcard(string key) { 937 getClient(key).zcard(key); 938 return getResponse(BuilderFactory.LONG); 939 } 940 941 // override 942 Response!(Long) zcard(const(ubyte)[] key) { 943 getClient(key).zcard(key); 944 return getResponse(BuilderFactory.LONG); 945 } 946 947 // override 948 Response!(Long) zcount(string key, double min, double max) { 949 getClient(key).zcount(key, min, max); 950 return getResponse(BuilderFactory.LONG); 951 } 952 953 // override 954 Response!(Long) zcount(string key, string min, string max) { 955 getClient(key).zcount(key, min, max); 956 return getResponse(BuilderFactory.LONG); 957 } 958 959 // override 960 Response!(Long) zcount(const(ubyte)[] key, double min, double max) { 961 getClient(key).zcount(key, min, max); 962 return getResponse(BuilderFactory.LONG); 963 } 964 965 // override 966 Response!(Long) zcount(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max) { 967 getClient(key).zcount(key, min, max); 968 return getResponse(BuilderFactory.LONG); 969 } 970 971 // override 972 Response!(Double) zincrby(string key, double increment, string member) { 973 getClient(key).zincrby(key, increment, member); 974 return getResponse(BuilderFactory.DOUBLE); 975 } 976 977 // override 978 Response!(Double) zincrby(string key, double increment, string member, ZIncrByParams params) { 979 getClient(key).zincrby(key, increment, member, params); 980 return getResponse(BuilderFactory.DOUBLE); 981 } 982 983 // override 984 Response!(Double) zincrby(const(ubyte)[] key, double increment, const(ubyte)[] member) { 985 getClient(key).zincrby(key, increment, member); 986 return getResponse(BuilderFactory.DOUBLE); 987 } 988 989 // override 990 Response!(Double) zincrby(const(ubyte)[] key, double increment, const(ubyte)[] member, ZIncrByParams params) { 991 getClient(key).zincrby(key, increment, member); 992 return getResponse(BuilderFactory.DOUBLE); 993 } 994 995 // override 996 Response!(Set!(string)) zrange(string key, long start, long stop) { 997 getClient(key).zrange(key, start, stop); 998 return getResponse(BuilderFactory.STRING_ZSET); 999 } 1000 1001 // override 1002 Response!(Set!(const(ubyte)[])) zrange(const(ubyte)[] key, long start, long stop) { 1003 getClient(key).zrange(key, start, stop); 1004 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 1005 } 1006 1007 // override 1008 Response!(Set!(string)) zrangeByScore(string key, double min, double max) { 1009 getClient(key).zrangeByScore(key, min, max); 1010 return getResponse(BuilderFactory.STRING_ZSET); 1011 } 1012 1013 // override 1014 Response!(Set!(const(ubyte)[])) zrangeByScore(const(ubyte)[] key, double min, double max) { 1015 getClient(key).zrangeByScore(key, min, max); 1016 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 1017 } 1018 1019 // override 1020 Response!(Set!(string)) zrangeByScore(string key, string min, string max) { 1021 getClient(key).zrangeByScore(key, min, max); 1022 return getResponse(BuilderFactory.STRING_ZSET); 1023 } 1024 1025 // override 1026 Response!(Set!(const(ubyte)[])) zrangeByScore(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max) { 1027 getClient(key).zrangeByScore(key, min, max); 1028 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 1029 } 1030 1031 // override 1032 Response!(Set!(string)) zrangeByScore(string key, double min, double max, int offset, 1033 int count) { 1034 getClient(key).zrangeByScore(key, min, max, offset, count); 1035 return getResponse(BuilderFactory.STRING_ZSET); 1036 } 1037 1038 // override 1039 Response!(Set!(string)) zrangeByScore(string key, string min, string max, int offset, 1040 int count) { 1041 getClient(key).zrangeByScore(key, min, max, offset, count); 1042 return getResponse(BuilderFactory.STRING_ZSET); 1043 } 1044 1045 // override 1046 Response!(Set!(const(ubyte)[])) zrangeByScore(const(ubyte)[] key, double min, double max, int offset, 1047 int count) { 1048 getClient(key).zrangeByScore(key, min, max, offset, count); 1049 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 1050 } 1051 1052 // override 1053 Response!(Set!(const(ubyte)[])) zrangeByScore(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max, int offset, 1054 int count) { 1055 getClient(key).zrangeByScore(key, min, max, offset, count); 1056 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 1057 } 1058 1059 // override 1060 Response!(Set!(Tuple)) zrangeByScoreWithScores(string key, double min, double max) { 1061 getClient(key).zrangeByScoreWithScores(key, min, max); 1062 return getResponse(BuilderFactory.TUPLE_ZSET); 1063 } 1064 1065 // override 1066 Response!(Set!(Tuple)) zrangeByScoreWithScores(string key, string min, string max) { 1067 getClient(key).zrangeByScoreWithScores(key, min, max); 1068 return getResponse(BuilderFactory.TUPLE_ZSET); 1069 } 1070 1071 // override 1072 Response!(Set!(Tuple)) zrangeByScoreWithScores(const(ubyte)[] key, double min, double max) { 1073 getClient(key).zrangeByScoreWithScores(key, min, max); 1074 return getResponse(BuilderFactory.TUPLE_ZSET); 1075 } 1076 1077 // override 1078 Response!(Set!(Tuple)) zrangeByScoreWithScores(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max) { 1079 getClient(key).zrangeByScoreWithScores(key, min, max); 1080 return getResponse(BuilderFactory.TUPLE_ZSET); 1081 } 1082 1083 // override 1084 Response!(Set!(Tuple)) zrangeByScoreWithScores(string key, double min, double max, 1085 int offset, int count) { 1086 getClient(key).zrangeByScoreWithScores(key, min, max, offset, count); 1087 return getResponse(BuilderFactory.TUPLE_ZSET); 1088 } 1089 1090 // override 1091 Response!(Set!(Tuple)) zrangeByScoreWithScores(string key, string min, string max, 1092 int offset, int count) { 1093 getClient(key).zrangeByScoreWithScores(key, min, max, offset, count); 1094 return getResponse(BuilderFactory.TUPLE_ZSET); 1095 } 1096 1097 // override 1098 Response!(Set!(Tuple)) zrangeByScoreWithScores(const(ubyte)[] key, double min, double max, 1099 int offset, int count) { 1100 getClient(key).zrangeByScoreWithScores(key, min, max, offset, count); 1101 return getResponse(BuilderFactory.TUPLE_ZSET); 1102 } 1103 1104 // override 1105 Response!(Set!(Tuple)) zrangeByScoreWithScores(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max, 1106 int offset, int count) { 1107 getClient(key).zrangeByScoreWithScores(key, min, max, offset, count); 1108 return getResponse(BuilderFactory.TUPLE_ZSET); 1109 } 1110 1111 // override 1112 Response!(Set!(string)) zrevrangeByScore(string key, double max, double min) { 1113 getClient(key).zrevrangeByScore(key, max, min); 1114 return getResponse(BuilderFactory.STRING_ZSET); 1115 } 1116 1117 // override 1118 Response!(Set!(const(ubyte)[])) zrevrangeByScore(const(ubyte)[] key, double max, double min) { 1119 getClient(key).zrevrangeByScore(key, max, min); 1120 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 1121 } 1122 1123 // override 1124 Response!(Set!(string)) zrevrangeByScore(string key, string max, string min) { 1125 getClient(key).zrevrangeByScore(key, max, min); 1126 return getResponse(BuilderFactory.STRING_ZSET); 1127 } 1128 1129 // override 1130 Response!(Set!(const(ubyte)[])) zrevrangeByScore(const(ubyte)[] key, const(ubyte)[] max, const(ubyte)[] min) { 1131 getClient(key).zrevrangeByScore(key, max, min); 1132 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 1133 } 1134 1135 // override 1136 Response!(Set!(string)) zrevrangeByScore(string key, double max, double min, int offset, 1137 int count) { 1138 getClient(key).zrevrangeByScore(key, max, min, offset, count); 1139 return getResponse(BuilderFactory.STRING_ZSET); 1140 } 1141 1142 // override 1143 Response!(Set!(string)) zrevrangeByScore(string key, string max, string min, int offset, 1144 int count) { 1145 getClient(key).zrevrangeByScore(key, max, min, offset, count); 1146 return getResponse(BuilderFactory.STRING_ZSET); 1147 } 1148 1149 // override 1150 Response!(Set!(const(ubyte)[])) zrevrangeByScore(const(ubyte)[] key, double max, double min, int offset, 1151 int count) { 1152 getClient(key).zrevrangeByScore(key, max, min, offset, count); 1153 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 1154 } 1155 1156 // override 1157 Response!(Set!(const(ubyte)[])) zrevrangeByScore(const(ubyte)[] key, const(ubyte)[] max, const(ubyte)[] min, int offset, 1158 int count) { 1159 getClient(key).zrevrangeByScore(key, max, min, offset, count); 1160 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 1161 } 1162 1163 // override 1164 Response!(Set!(Tuple)) zrevrangeByScoreWithScores(string key, double max, double min) { 1165 getClient(key).zrevrangeByScoreWithScores(key, max, min); 1166 return getResponse(BuilderFactory.TUPLE_ZSET); 1167 } 1168 1169 // override 1170 Response!(Set!(Tuple)) zrevrangeByScoreWithScores(string key, string max, string min) { 1171 getClient(key).zrevrangeByScoreWithScores(key, max, min); 1172 return getResponse(BuilderFactory.TUPLE_ZSET); 1173 } 1174 1175 // override 1176 Response!(Set!(Tuple)) zrevrangeByScoreWithScores(const(ubyte)[] key, double max, double min) { 1177 getClient(key).zrevrangeByScoreWithScores(key, max, min); 1178 return getResponse(BuilderFactory.TUPLE_ZSET); 1179 } 1180 1181 // override 1182 Response!(Set!(Tuple)) zrevrangeByScoreWithScores(const(ubyte)[] key, const(ubyte)[] max, const(ubyte)[] min) { 1183 getClient(key).zrevrangeByScoreWithScores(key, max, min); 1184 return getResponse(BuilderFactory.TUPLE_ZSET); 1185 } 1186 1187 // override 1188 Response!(Set!(Tuple)) zrevrangeByScoreWithScores(string key, double max, double min, 1189 int offset, int count) { 1190 getClient(key).zrevrangeByScoreWithScores(key, max, min, offset, count); 1191 return getResponse(BuilderFactory.TUPLE_ZSET); 1192 } 1193 1194 // override 1195 Response!(Set!(Tuple)) zrevrangeByScoreWithScores(string key, string max, string min, 1196 int offset, int count) { 1197 getClient(key).zrevrangeByScoreWithScores(key, max, min, offset, count); 1198 return getResponse(BuilderFactory.TUPLE_ZSET); 1199 } 1200 1201 // override 1202 Response!(Set!(Tuple)) zrevrangeByScoreWithScores(const(ubyte)[] key, double max, double min, 1203 int offset, int count) { 1204 getClient(key).zrevrangeByScoreWithScores(key, max, min, offset, count); 1205 return getResponse(BuilderFactory.TUPLE_ZSET); 1206 } 1207 1208 // override 1209 Response!(Set!(Tuple)) zrevrangeByScoreWithScores(const(ubyte)[] key, const(ubyte)[] max, const(ubyte)[] min, 1210 int offset, int count) { 1211 getClient(key).zrevrangeByScoreWithScores(key, max, min, offset, count); 1212 return getResponse(BuilderFactory.TUPLE_ZSET); 1213 } 1214 1215 // override 1216 Response!(Set!(Tuple)) zrangeWithScores(string key, long start, long stop) { 1217 getClient(key).zrangeWithScores(key, start, stop); 1218 return getResponse(BuilderFactory.TUPLE_ZSET); 1219 } 1220 1221 // override 1222 Response!(Set!(Tuple)) zrangeWithScores(const(ubyte)[] key, long start, long stop) { 1223 getClient(key).zrangeWithScores(key, start, stop); 1224 return getResponse(BuilderFactory.TUPLE_ZSET); 1225 } 1226 1227 // override 1228 Response!(Long) zrank(string key, string member) { 1229 getClient(key).zrank(key, member); 1230 return getResponse(BuilderFactory.LONG); 1231 } 1232 1233 // override 1234 Response!(Long) zrank(const(ubyte)[] key, const(ubyte)[] member) { 1235 getClient(key).zrank(key, member); 1236 return getResponse(BuilderFactory.LONG); 1237 } 1238 1239 // override 1240 Response!(Long) zrem(string key, string[] members...) { 1241 getClient(key).zrem(key, members); 1242 return getResponse(BuilderFactory.LONG); 1243 } 1244 1245 // override 1246 Response!(Long) zrem(const(ubyte)[] key, const(ubyte)[][] members...) { 1247 getClient(key).zrem(key, members); 1248 return getResponse(BuilderFactory.LONG); 1249 } 1250 1251 // override 1252 Response!(Long) zremrangeByRank(string key, long start, long stop) { 1253 getClient(key).zremrangeByRank(key, start, stop); 1254 return getResponse(BuilderFactory.LONG); 1255 } 1256 1257 // override 1258 Response!(Long) zremrangeByRank(const(ubyte)[] key, long start, long stop) { 1259 getClient(key).zremrangeByRank(key, start, stop); 1260 return getResponse(BuilderFactory.LONG); 1261 } 1262 1263 // override 1264 Response!(Long) zremrangeByScore(string key, double min, double max) { 1265 getClient(key).zremrangeByScore(key, min, max); 1266 return getResponse(BuilderFactory.LONG); 1267 } 1268 1269 // override 1270 Response!(Long) zremrangeByScore(string key, string min, string max) { 1271 getClient(key).zremrangeByScore(key, min, max); 1272 return getResponse(BuilderFactory.LONG); 1273 } 1274 1275 // override 1276 Response!(Long) zremrangeByScore(const(ubyte)[] key, double min, double max) { 1277 getClient(key).zremrangeByScore(key, min, max); 1278 return getResponse(BuilderFactory.LONG); 1279 } 1280 1281 // override 1282 Response!(Long) zremrangeByScore(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max) { 1283 getClient(key).zremrangeByScore(key, min, max); 1284 return getResponse(BuilderFactory.LONG); 1285 } 1286 1287 // override 1288 Response!(Set!(string)) zrevrange(string key, long start, long stop) { 1289 getClient(key).zrevrange(key, start, stop); 1290 return getResponse(BuilderFactory.STRING_ZSET); 1291 } 1292 1293 // override 1294 Response!(Set!(const(ubyte)[])) zrevrange(const(ubyte)[] key, long start, long stop) { 1295 getClient(key).zrevrange(key, start, stop); 1296 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 1297 } 1298 1299 // override 1300 Response!(Set!(Tuple)) zrevrangeWithScores(string key, long start, long stop) { 1301 getClient(key).zrevrangeWithScores(key, start, stop); 1302 return getResponse(BuilderFactory.TUPLE_ZSET); 1303 } 1304 1305 // override 1306 Response!(Set!(Tuple)) zrevrangeWithScores(const(ubyte)[] key, long start, long stop) { 1307 getClient(key).zrevrangeWithScores(key, start, stop); 1308 return getResponse(BuilderFactory.TUPLE_ZSET); 1309 } 1310 1311 // override 1312 Response!(Long) zrevrank(string key, string member) { 1313 getClient(key).zrevrank(key, member); 1314 return getResponse(BuilderFactory.LONG); 1315 } 1316 1317 // override 1318 Response!(Long) zrevrank(const(ubyte)[] key, const(ubyte)[] member) { 1319 getClient(key).zrevrank(key, member); 1320 return getResponse(BuilderFactory.LONG); 1321 } 1322 1323 // override 1324 Response!(Double) zscore(string key, string member) { 1325 getClient(key).zscore(key, member); 1326 return getResponse(BuilderFactory.DOUBLE); 1327 } 1328 1329 // override 1330 Response!(Double) zscore(const(ubyte)[] key, const(ubyte)[] member) { 1331 getClient(key).zscore(key, member); 1332 return getResponse(BuilderFactory.DOUBLE); 1333 } 1334 1335 // override 1336 Response!(Long) zlexcount(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max) { 1337 getClient(key).zlexcount(key, min, max); 1338 return getResponse(BuilderFactory.LONG); 1339 } 1340 1341 // override 1342 Response!(Long) zlexcount(string key, string min, string max) { 1343 getClient(key).zlexcount(key, min, max); 1344 return getResponse(BuilderFactory.LONG); 1345 } 1346 1347 // override 1348 Response!(Set!(const(ubyte)[])) zrangeByLex(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max) { 1349 getClient(key).zrangeByLex(key, min, max); 1350 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 1351 } 1352 1353 // override 1354 Response!(Set!(string)) zrangeByLex(string key, string min, string max) { 1355 getClient(key).zrangeByLex(key, min, max); 1356 return getResponse(BuilderFactory.STRING_ZSET); 1357 } 1358 1359 // override 1360 Response!(Set!(const(ubyte)[])) zrangeByLex(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max, 1361 int offset, int count) { 1362 getClient(key).zrangeByLex(key, min, max, offset, count); 1363 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 1364 } 1365 1366 // override 1367 Response!(Set!(string)) zrangeByLex(string key, string min, string max, 1368 int offset, int count) { 1369 getClient(key).zrangeByLex(key, min, max, offset, count); 1370 return getResponse(BuilderFactory.STRING_ZSET); 1371 } 1372 1373 // override 1374 Response!(Set!(const(ubyte)[])) zrevrangeByLex(const(ubyte)[] key, const(ubyte)[] max, const(ubyte)[] min) { 1375 getClient(key).zrevrangeByLex(key, max, min); 1376 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 1377 } 1378 1379 // override 1380 Response!(Set!(string)) zrevrangeByLex(string key, string max, string min) { 1381 getClient(key).zrevrangeByLex(key, max, min); 1382 return getResponse(BuilderFactory.STRING_ZSET); 1383 } 1384 1385 // override 1386 Response!(Set!(const(ubyte)[])) zrevrangeByLex(const(ubyte)[] key, const(ubyte)[] max, const(ubyte)[] min, 1387 int offset, int count) { 1388 getClient(key).zrevrangeByLex(key, max, min, offset, count); 1389 return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); 1390 } 1391 1392 // override 1393 Response!(Set!(string)) zrevrangeByLex(string key, string max, string min, 1394 int offset, int count) { 1395 getClient(key).zrevrangeByLex(key, max, min, offset, count); 1396 return getResponse(BuilderFactory.STRING_ZSET); 1397 } 1398 1399 // override 1400 Response!(Long) zremrangeByLex(const(ubyte)[] key, const(ubyte)[] min, const(ubyte)[] max) { 1401 getClient(key).zremrangeByLex(key, min, max); 1402 return getResponse(BuilderFactory.LONG); 1403 } 1404 1405 // override 1406 Response!(Long) zremrangeByLex(string key, string min, string max) { 1407 getClient(key).zremrangeByLex(key, min, max); 1408 return getResponse(BuilderFactory.LONG); 1409 } 1410 1411 // override 1412 Response!(Long) bitcount(string key) { 1413 getClient(key).bitcount(key); 1414 return getResponse(BuilderFactory.LONG); 1415 } 1416 1417 // override 1418 Response!(Long) bitcount(string key, long start, long end) { 1419 getClient(key).bitcount(key, start, end); 1420 return getResponse(BuilderFactory.LONG); 1421 } 1422 1423 // override 1424 Response!(Long) bitcount(const(ubyte)[] key) { 1425 getClient(key).bitcount(key); 1426 return getResponse(BuilderFactory.LONG); 1427 } 1428 1429 // override 1430 Response!(Long) bitcount(const(ubyte)[] key, long start, long end) { 1431 getClient(key).bitcount(key, start, end); 1432 return getResponse(BuilderFactory.LONG); 1433 } 1434 1435 // // override 1436 Response!(const(ubyte)[]) dump(string key) { 1437 getClient(key).dump(key); 1438 return getResponse(BuilderFactory.BYTE_ARRAY); 1439 } 1440 1441 // override 1442 Response!(const(ubyte)[]) dump(const(ubyte)[] key) { 1443 getClient(key).dump(key); 1444 return getResponse(BuilderFactory.BYTE_ARRAY); 1445 } 1446 1447 // override 1448 Response!(string) migrate(string host, int port, 1449 string key, int destinationDb, int timeout) { 1450 getClient(key).migrate(host, port, key, destinationDb, timeout); 1451 return getResponse(BuilderFactory.STRING); 1452 } 1453 1454 // override 1455 Response!(string) migrate(string host, int port, 1456 const(ubyte)[] key, int destinationDb, int timeout) { 1457 getClient(key).migrate(host, port, key, destinationDb, timeout); 1458 return getResponse(BuilderFactory.STRING); 1459 } 1460 1461 // override 1462 Response!(Long) objectRefcount(string key) { 1463 getClient(key).objectRefcount(key); 1464 return getResponse(BuilderFactory.LONG); 1465 } 1466 1467 // override 1468 Response!(Long) objectRefcount(const(ubyte)[] key) { 1469 getClient(key).objectRefcount(key); 1470 return getResponse(BuilderFactory.LONG); 1471 } 1472 1473 // override 1474 Response!(string) objectEncoding(string key) { 1475 getClient(key).objectEncoding(key); 1476 return getResponse(BuilderFactory.STRING); 1477 } 1478 1479 // override 1480 Response!(const(ubyte)[]) objectEncoding(const(ubyte)[] key) { 1481 getClient(key).objectEncoding(key); 1482 return getResponse(BuilderFactory.BYTE_ARRAY); 1483 } 1484 1485 // override 1486 Response!(Long) objectIdletime(string key) { 1487 getClient(key).objectIdletime(key); 1488 return getResponse(BuilderFactory.LONG); 1489 } 1490 1491 // override 1492 Response!(Long) objectIdletime(const(ubyte)[] key) { 1493 getClient(key).objectIdletime(key); 1494 return getResponse(BuilderFactory.LONG); 1495 } 1496 1497 // override 1498 Response!(Long) pexpire(string key, long milliseconds) { 1499 getClient(key).pexpire(key, milliseconds); 1500 return getResponse(BuilderFactory.LONG); 1501 } 1502 1503 // override 1504 Response!(Long) pexpire(const(ubyte)[] key, long milliseconds) { 1505 getClient(key).pexpire(key, milliseconds); 1506 return getResponse(BuilderFactory.LONG); 1507 } 1508 1509 // override 1510 Response!(Long) pexpireAt(string key, long millisecondsTimestamp) { 1511 getClient(key).pexpireAt(key, millisecondsTimestamp); 1512 return getResponse(BuilderFactory.LONG); 1513 } 1514 1515 // override 1516 Response!(Long) pexpireAt(const(ubyte)[] key, long millisecondsTimestamp) { 1517 getClient(key).pexpireAt(key, millisecondsTimestamp); 1518 return getResponse(BuilderFactory.LONG); 1519 } 1520 1521 // override 1522 Response!(Long) pttl(string key) { 1523 getClient(key).pttl(key); 1524 return getResponse(BuilderFactory.LONG); 1525 } 1526 1527 // override 1528 Response!(Long) pttl(const(ubyte)[] key) { 1529 getClient(key).pttl(key); 1530 return getResponse(BuilderFactory.LONG); 1531 } 1532 1533 // override 1534 Response!(string) restore(string key, int ttl, const(ubyte)[] serializedValue) { 1535 getClient(key).restore(key, ttl, serializedValue); 1536 return getResponse(BuilderFactory.STRING); 1537 } 1538 1539 // override 1540 Response!(string) restore(const(ubyte)[] key, int ttl, const(ubyte)[] serializedValue) { 1541 getClient(key).restore(key, ttl, serializedValue); 1542 return getResponse(BuilderFactory.STRING); 1543 } 1544 1545 // override 1546 Response!(string) restoreReplace(string key, int ttl, const(ubyte)[] serializedValue) { 1547 getClient(key).restoreReplace(key, ttl, serializedValue); 1548 return getResponse(BuilderFactory.STRING); 1549 } 1550 1551 // override 1552 Response!(string) restoreReplace(const(ubyte)[] key, int ttl, const(ubyte)[] serializedValue) { 1553 getClient(key).restoreReplace(key, ttl, serializedValue); 1554 return getResponse(BuilderFactory.STRING); 1555 } 1556 1557 // override 1558 Response!(Double) incrByFloat(string key, double increment) { 1559 getClient(key).incrByFloat(key, increment); 1560 return getResponse(BuilderFactory.DOUBLE); 1561 } 1562 1563 // override 1564 Response!(Double) incrByFloat(const(ubyte)[] key, double increment) { 1565 getClient(key).incrByFloat(key, increment); 1566 return getResponse(BuilderFactory.DOUBLE); 1567 } 1568 1569 // override 1570 Response!(string) psetex(string key, long milliseconds, string value) { 1571 getClient(key).psetex(key, milliseconds, value); 1572 return getResponse(BuilderFactory.STRING); 1573 } 1574 1575 // override 1576 Response!(string) psetex(const(ubyte)[] key, long milliseconds, const(ubyte)[] value) { 1577 getClient(key).psetex(key, milliseconds, value); 1578 return getResponse(BuilderFactory.STRING); 1579 } 1580 1581 // override 1582 Response!(Double) hincrByFloat(string key, string field, double increment) { 1583 getClient(key).hincrByFloat(key, field, increment); 1584 return getResponse(BuilderFactory.DOUBLE); 1585 } 1586 1587 // override 1588 Response!(Double) hincrByFloat(const(ubyte)[] key, const(ubyte)[] field, double increment) { 1589 getClient(key).hincrByFloat(key, field, increment); 1590 return getResponse(BuilderFactory.DOUBLE); 1591 } 1592 1593 // override 1594 Response!(Long) pfadd(const(ubyte)[] key, const(ubyte)[][] elements...) { 1595 getClient(key).pfadd(key, elements); 1596 return getResponse(BuilderFactory.LONG); 1597 } 1598 1599 // override 1600 Response!(Long) pfcount(const(ubyte)[] key) { 1601 getClient(key).pfcount(key); 1602 return getResponse(BuilderFactory.LONG); 1603 } 1604 1605 // override 1606 Response!(Long) pfadd(string key, string[] elements...) { 1607 getClient(key).pfadd(key, elements); 1608 return getResponse(BuilderFactory.LONG); 1609 } 1610 1611 // override 1612 Response!(Long) pfcount(string key) { 1613 getClient(key).pfcount(key); 1614 return getResponse(BuilderFactory.LONG); 1615 } 1616 1617 // override 1618 Response!(Long) geoadd(const(ubyte)[] key, double longitude, double latitude, const(ubyte)[] member) { 1619 getClient(key).geoadd(key, longitude, latitude, member); 1620 return getResponse(BuilderFactory.LONG); 1621 } 1622 1623 // override 1624 Response!(Long) geoadd(const(ubyte)[] key, Map!(const(ubyte)[], GeoCoordinate) memberCoordinateMap) { 1625 getClient(key).geoadd(key, memberCoordinateMap); 1626 return getResponse(BuilderFactory.LONG); 1627 } 1628 1629 // override 1630 Response!(Long) geoadd(string key, double longitude, double latitude, string member) { 1631 getClient(key).geoadd(key, longitude, latitude, member); 1632 return getResponse(BuilderFactory.LONG); 1633 } 1634 1635 // override 1636 Response!(Long) geoadd(string key, Map!(string, GeoCoordinate) memberCoordinateMap) { 1637 getClient(key).geoadd(key, memberCoordinateMap); 1638 return getResponse(BuilderFactory.LONG); 1639 } 1640 1641 // override 1642 Response!(Double) geodist(const(ubyte)[] key, const(ubyte)[] member1, const(ubyte)[] member2) { 1643 getClient(key).geodist(key, member1, member2); 1644 return getResponse(BuilderFactory.DOUBLE); 1645 } 1646 1647 // override 1648 Response!(Double) geodist(const(ubyte)[] key, const(ubyte)[] member1, const(ubyte)[] member2, GeoUnit unit) { 1649 getClient(key).geodist(key, member1, member2, unit); 1650 return getResponse(BuilderFactory.DOUBLE); 1651 } 1652 1653 // override 1654 Response!(Double) geodist(string key, string member1, string member2) { 1655 getClient(key).geodist(key, member1, member2); 1656 return getResponse(BuilderFactory.DOUBLE); 1657 } 1658 1659 // override 1660 Response!(Double) geodist(string key, string member1, string member2, GeoUnit unit) { 1661 getClient(key).geodist(key, member1, member2); 1662 return getResponse(BuilderFactory.DOUBLE); 1663 } 1664 1665 // override 1666 Response!(List!(const(ubyte)[])) geohash(const(ubyte)[] key, const(ubyte)[][] members...) { 1667 getClient(key).geohash(key, members); 1668 return getResponse(BuilderFactory.BYTE_ARRAY_LIST); 1669 } 1670 1671 // override 1672 Response!(List!(string)) geohash(string key, string[] members...) { 1673 getClient(key).geohash(key, members); 1674 return getResponse(BuilderFactory.STRING_LIST); 1675 } 1676 1677 // override 1678 Response!(List!(GeoCoordinate)) geopos(const(ubyte)[] key, const(ubyte)[][] members...) { 1679 getClient(key).geopos(key, members); 1680 return getResponse(BuilderFactory.GEO_COORDINATE_LIST); 1681 } 1682 1683 // override 1684 Response!(List!(GeoCoordinate)) geopos(string key, string[] members...) { 1685 getClient(key).geopos(key, members); 1686 return getResponse(BuilderFactory.GEO_COORDINATE_LIST); 1687 } 1688 1689 // override 1690 Response!(List!(GeoRadiusResponse)) georadius(const(ubyte)[] key, double longitude, double latitude, 1691 double radius, GeoUnit unit) { 1692 getClient(key).georadius(key, longitude, latitude, radius, unit); 1693 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1694 } 1695 1696 // override 1697 Response!(List!(GeoRadiusResponse)) georadiusReadonly(const(ubyte)[] key, double longitude, double latitude, 1698 double radius, GeoUnit unit) { 1699 getClient(key).georadiusReadonly(key, longitude, latitude, radius, unit); 1700 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1701 } 1702 1703 // override 1704 Response!(List!(GeoRadiusResponse)) georadius(const(ubyte)[] key, double longitude, double latitude, 1705 double radius, GeoUnit unit, GeoRadiusParam param) { 1706 getClient(key).georadius(key, longitude, latitude, radius, unit, param); 1707 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1708 } 1709 1710 // override 1711 Response!(List!(GeoRadiusResponse)) georadiusReadonly(const(ubyte)[] key, double longitude, double latitude, 1712 double radius, GeoUnit unit, GeoRadiusParam param) { 1713 getClient(key).georadiusReadonly(key, longitude, latitude, radius, unit, param); 1714 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1715 } 1716 1717 // override 1718 Response!(List!(GeoRadiusResponse)) georadius(string key, double longitude, double latitude, 1719 double radius, GeoUnit unit) { 1720 getClient(key).georadius(key, longitude, latitude, radius, unit); 1721 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1722 } 1723 1724 // override 1725 Response!(List!(GeoRadiusResponse)) georadiusReadonly(string key, double longitude, double latitude, 1726 double radius, GeoUnit unit) { 1727 getClient(key).georadiusReadonly(key, longitude, latitude, radius, unit); 1728 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1729 } 1730 1731 // override 1732 Response!(List!(GeoRadiusResponse)) georadius(string key, double longitude, double latitude, 1733 double radius, GeoUnit unit, GeoRadiusParam param) { 1734 getClient(key).georadius(key, longitude, latitude, radius, unit, param); 1735 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1736 } 1737 1738 // override 1739 Response!(List!(GeoRadiusResponse)) georadiusReadonly(string key, double longitude, double latitude, 1740 double radius, GeoUnit unit, GeoRadiusParam param) { 1741 getClient(key).georadiusReadonly(key, longitude, latitude, radius, unit, param); 1742 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1743 } 1744 1745 // override 1746 Response!(List!(GeoRadiusResponse)) georadiusByMember(const(ubyte)[] key, const(ubyte)[] member, 1747 double radius, GeoUnit unit) { 1748 getClient(key).georadiusByMember(key, member, radius, unit); 1749 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1750 } 1751 1752 // override 1753 Response!(List!(GeoRadiusResponse)) georadiusByMemberReadonly(const(ubyte)[] key, const(ubyte)[] member, 1754 double radius, GeoUnit unit) { 1755 getClient(key).georadiusByMemberReadonly(key, member, radius, unit); 1756 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1757 } 1758 1759 // override 1760 Response!(List!(GeoRadiusResponse)) georadiusByMember(const(ubyte)[] key, const(ubyte)[] member, 1761 double radius, GeoUnit unit, GeoRadiusParam param) { 1762 getClient(key).georadiusByMember(key, member, radius, unit, param); 1763 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1764 } 1765 1766 // override 1767 Response!(List!(GeoRadiusResponse)) georadiusByMemberReadonly(const(ubyte)[] key, const(ubyte)[] member, 1768 double radius, GeoUnit unit, GeoRadiusParam param) { 1769 getClient(key).georadiusByMemberReadonly(key, member, radius, unit, param); 1770 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1771 } 1772 1773 // override 1774 Response!(List!(GeoRadiusResponse)) georadiusByMember(string key, string member, 1775 double radius, GeoUnit unit) { 1776 getClient(key).georadiusByMember(key, member, radius, unit); 1777 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1778 } 1779 1780 // override 1781 Response!(List!(GeoRadiusResponse)) georadiusByMemberReadonly(string key, string member, 1782 double radius, GeoUnit unit) { 1783 getClient(key).georadiusByMemberReadonly(key, member, radius, unit); 1784 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1785 } 1786 1787 // override 1788 Response!(List!(GeoRadiusResponse)) georadiusByMember(string key, string member, 1789 double radius, GeoUnit unit, GeoRadiusParam param) { 1790 getClient(key).georadiusByMember(key, member, radius, unit, param); 1791 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1792 } 1793 1794 // override 1795 Response!(List!(GeoRadiusResponse)) georadiusByMemberReadonly(string key, string member, 1796 double radius, GeoUnit unit, GeoRadiusParam param) { 1797 getClient(key).georadiusByMemberReadonly(key, member, radius, unit, param); 1798 return getResponse(BuilderFactory.GEORADIUS_WITH_PARAMS_RESULT); 1799 } 1800 1801 // override 1802 Response!(List!(Long)) bitfield(string key, string[] elements...) { 1803 getClient(key).bitfield(key, elements); 1804 return getResponse(BuilderFactory.LONG_LIST); 1805 } 1806 1807 // override 1808 Response!(List!(Long)) bitfield(const(ubyte)[] key, const(ubyte)[][] elements...) { 1809 getClient(key).bitfield(key, elements); 1810 return getResponse(BuilderFactory.LONG_LIST); 1811 } 1812 1813 // override 1814 Response!(Long) hstrlen(string key, string field) { 1815 getClient(key).hstrlen(key, field); 1816 return getResponse(BuilderFactory.LONG); 1817 } 1818 1819 // override 1820 Response!(Long) hstrlen(const(ubyte)[] key, const(ubyte)[] field) { 1821 getClient(key).hstrlen(key, field); 1822 return getResponse(BuilderFactory.LONG); 1823 } 1824 1825 // override 1826 Response!(StreamEntryID) xadd(string key, StreamEntryID id, Map!(string, string) hash){ 1827 return xadd(key, id, hash, Long.MAX_VALUE, true); 1828 } 1829 1830 // override 1831 Response!(const(ubyte)[]) xadd(const(ubyte)[] key, const(ubyte)[] id, Map!(const(ubyte)[], const(ubyte)[]) hash){ 1832 return xadd(key, id, hash, Long.MAX_VALUE, true); 1833 } 1834 1835 1836 // override 1837 Response!(StreamEntryID) xadd(string key, StreamEntryID id, Map!(string, string) hash, long maxLen, bool approximateLength){ 1838 getClient(key).xadd(key, id, hash, maxLen, approximateLength); 1839 return getResponse(BuilderFactory.STREAM_ENTRY_ID); 1840 } 1841 1842 1843 // override 1844 Response!(const(ubyte)[]) xadd(const(ubyte)[] key, const(ubyte)[] id, Map!(const(ubyte)[], const(ubyte)[]) hash, long maxLen, bool approximateLength){ 1845 getClient(key).xadd(key, id, hash, maxLen, approximateLength); 1846 return getResponse(BuilderFactory.BYTE_ARRAY); 1847 } 1848 1849 1850 // override 1851 Response!(Long) xlen(string key){ 1852 getClient(key).xlen(key); 1853 return getResponse(BuilderFactory.LONG); 1854 } 1855 1856 // override 1857 Response!(Long) xlen(const(ubyte)[] key){ 1858 getClient(key).xlen(key); 1859 return getResponse(BuilderFactory.LONG); 1860 } 1861 1862 // override 1863 Response!(List!(StreamEntry)) xrange(string key, StreamEntryID start, StreamEntryID end, int count){ 1864 getClient(key).xrange(key, start, end, count); 1865 return getResponse(BuilderFactory.STREAM_ENTRY_LIST); 1866 } 1867 1868 // override 1869 Response!(List!(const(ubyte)[])) xrange(const(ubyte)[] key, const(ubyte)[] start, const(ubyte)[] end, int count){ 1870 getClient(key).xrange(key, start, end, count); 1871 return getResponse(BuilderFactory.BYTE_ARRAY_LIST); 1872 } 1873 1874 // override 1875 Response!(List!(StreamEntry)) xrevrange(string key, StreamEntryID end, StreamEntryID start, int count){ 1876 getClient(key).xrevrange(key, start, end, count); 1877 return getResponse(BuilderFactory.STREAM_ENTRY_LIST); 1878 } 1879 1880 // override 1881 Response!(List!(const(ubyte)[])) xrevrange(const(ubyte)[] key, const(ubyte)[] end, const(ubyte)[] start, int count){ 1882 getClient(key).xrevrange(key, start, end, count); 1883 return getResponse(BuilderFactory.BYTE_ARRAY_LIST); 1884 } 1885 1886 1887 // override 1888 Response!(Long) xack(string key, string group, StreamEntryID[] ids...){ 1889 getClient(key).xack(key, group, ids); 1890 return getResponse(BuilderFactory.LONG); 1891 } 1892 1893 // override 1894 Response!(Long) xack(const(ubyte)[] key, const(ubyte)[] group, const(ubyte)[][] ids...){ 1895 getClient(key).xack(key, group, ids); 1896 return getResponse(BuilderFactory.LONG); 1897 } 1898 1899 // override 1900 Response!(string) xgroupCreate( string key, string groupname, StreamEntryID id, bool makeStream){ 1901 getClient(key).xgroupCreate(key, groupname, id, makeStream); 1902 return getResponse(BuilderFactory.STRING); 1903 } 1904 1905 // override 1906 Response!(string) xgroupCreate(const(ubyte)[] key, const(ubyte)[] groupname, const(ubyte)[] id, bool makeStream){ 1907 getClient(key).xgroupCreate(key, groupname, id, makeStream); 1908 return getResponse(BuilderFactory.STRING); 1909 } 1910 1911 // override 1912 Response!(string) xgroupSetID( string key, string groupname, StreamEntryID id){ 1913 getClient(key).xgroupSetID(key, groupname, id); 1914 return getResponse(BuilderFactory.STRING); 1915 } 1916 1917 // override 1918 Response!(string) xgroupSetID(const(ubyte)[] key, const(ubyte)[] groupname, const(ubyte)[] id){ 1919 getClient(key).xgroupSetID(key, groupname, id); 1920 return getResponse(BuilderFactory.STRING); 1921 } 1922 1923 // override 1924 Response!(Long) xgroupDestroy( string key, string groupname){ 1925 getClient(key).xgroupDestroy(key, groupname); 1926 return getResponse(BuilderFactory.LONG); 1927 } 1928 1929 // override 1930 Response!(Long) xgroupDestroy(const(ubyte)[] key, const(ubyte)[] groupname){ 1931 getClient(key).xgroupDestroy(key, groupname); 1932 return getResponse(BuilderFactory.LONG); 1933 } 1934 1935 // override 1936 Response!(string) xgroupDelConsumer( string key, string groupname, string consumername){ 1937 getClient(key).xgroupDelConsumer(key, groupname, consumername); 1938 return getResponse(BuilderFactory.STRING); 1939 } 1940 1941 // override 1942 Response!(string) xgroupDelConsumer(const(ubyte)[] key, const(ubyte)[] groupname, const(ubyte)[] consumername){ 1943 getClient(key).xgroupDelConsumer(key, groupname, consumername); 1944 return getResponse(BuilderFactory.STRING); 1945 } 1946 1947 // override 1948 Response!(List!(StreamPendingEntry)) xpending(string key, string groupname, StreamEntryID start, StreamEntryID end, int count, string consumername){ 1949 getClient(key).xpending(key, groupname, start, end, count, consumername); 1950 return getResponse(BuilderFactory.STREAM_PENDING_ENTRY_LIST); 1951 } 1952 1953 // override 1954 Response!(List!(StreamPendingEntry)) xpending(const(ubyte)[] key, const(ubyte)[] groupname, const(ubyte)[] start, const(ubyte)[] end, int count, const(ubyte)[] consumername){ 1955 getClient(key).xpending(key, groupname, start, end, count, consumername); 1956 return getResponse(BuilderFactory.STREAM_PENDING_ENTRY_LIST); 1957 } 1958 1959 1960 // override 1961 Response!(Long) xdel( string key, StreamEntryID[] ids...){ 1962 getClient(key).xdel(key, ids); 1963 return getResponse(BuilderFactory.LONG); 1964 } 1965 1966 // override 1967 Response!(Long) xdel(const(ubyte)[] key, const(ubyte)[][] ids...){ 1968 getClient(key).xdel(key, ids); 1969 return getResponse(BuilderFactory.LONG); 1970 } 1971 1972 // override 1973 Response!(Long) xtrim( string key, long maxLen, bool approximateLength){ 1974 getClient(key).xtrim(key, maxLen, approximateLength); 1975 return getResponse(BuilderFactory.LONG); 1976 } 1977 1978 // override 1979 Response!(Long) xtrim(const(ubyte)[] key, long maxLen, bool approximateLength){ 1980 getClient(key).xtrim(key, maxLen, approximateLength); 1981 return getResponse(BuilderFactory.LONG); 1982 } 1983 1984 // override 1985 Response!(List!(StreamEntry)) xclaim( string key, string group, string consumername, long minIdleTime, 1986 long newIdleTime, int retries, bool force, StreamEntryID[] ids...){ 1987 getClient(key).xclaim(key, group, consumername, minIdleTime, newIdleTime, retries, force, ids); 1988 return getResponse(BuilderFactory.STREAM_ENTRY_LIST); 1989 } 1990 1991 // override 1992 Response!(List!(const(ubyte)[])) xclaim(const(ubyte)[] key, const(ubyte)[] group, const(ubyte)[] consumername, long minIdleTime, 1993 long newIdleTime, int retries, bool force, const(ubyte)[][] ids...){ 1994 getClient(key).xclaim(key, group, consumername, minIdleTime, newIdleTime, retries, force, ids); 1995 return getResponse(BuilderFactory.BYTE_ARRAY_LIST); 1996 } 1997 1998 // override 1999 Response!(Object) sendCommand(ProtocolCommand cmd, string[] args...){ 2000 string key = args.length > 0 ? args[0] : cmd.to!string(); 2001 getClient(key).sendCommand(cmd, args); 2002 return getResponse(BuilderFactory.OBJECT); 2003 } 2004 2005 // override 2006 Response!(Object) sendCommand(ProtocolCommand cmd, const(ubyte)[][] args...){ 2007 const(ubyte)[] key = args.length > 0 ? args[0] : cast(const(ubyte)[])(cmd.to!string()); 2008 getClient(key).sendCommand(cmd, args); 2009 return getResponse(BuilderFactory.OBJECT); 2010 } 2011 }