Module redis

Types

RedisError* = object of Exception
  Source Edit
RedisClient* = ref object
  pipe*: BytePipe
  sendMutex: AsyncMutex
  connectProc: (proc (client: RedisClient): Future[void])
  reconnectFlag: bool
  Source Edit
RedisMessage* = object
  channel*: string
  message*: string
  Source Edit

Procs

proc unserialize*(input: ByteInput; typ: typedesc[string]): Future[string] {.
async
.}
  Source Edit
proc unserialize*(input: ByteInput; typ: typedesc[int64]): Future[int64] {.
async
.}
  Source Edit
proc unserialize*(input: ByteInput; typ: typedesc[void]): Future[void] {.
async
.}
  Source Edit
proc unserialize*[T](input: ByteInput; typ: typedesc[seq[T]]): Future[seq[T]] {.
async
.}
  Source Edit
proc serialize*[T](output: ByteOutput; val: seq[T]): Future[void] {.
async
.}
  Source Edit
proc serialize*(output: ByteOutput; val: int64): Future[void] {.
async
.}
  Source Edit
proc serialize*(output: ByteOutput; val: string): Future[void] {.
async
.}
  Source Edit
proc wrapRedis*(connectProc: (proc (client: RedisClient): Future[void]);
               reconnect = false): RedisClient
Create Redis client from existing connection. connectProc should assign connection to pipe attribute of client.   Source Edit
proc reconnect*(client: RedisClient) {.
async
.}
  Source Edit
proc call*[R](client: RedisClient; cmd: seq[string]; resp: typedesc[R]): Future[R] {.
async
.}
Perform a Redis call.   Source Edit
proc pubsub*(client: RedisClient; channels: seq[string]): Input[RedisMessage] {.
asynciterator
.}
Start listening for PUBSUB messages on channels channels.   Source Edit
proc connect*(host: string = "127.0.0.1"; port: int = 6379; password: string = nil;
             reconnect = false): Future[RedisClient] {.
async
.}
Connect to Redis TCP instance.   Source Edit

Macros

macro defCommand*(sname: untyped; args: untyped; rettype: untyped): untyped
  Source Edit