Esempio n. 1
0
static void
addReplyFromCapi (client_t * c, arc_reply_t * reply)
{
  int i;

  switch (reply->type)
    {
    case ARC_REPLY_ERROR:
      addReplyStrLen (c, reply->d.error.str, reply->d.error.len);
      addReplyStrLen (c, "\r\n", 2);
      break;
    case ARC_REPLY_STATUS:
      addReplyStrLen (c, reply->d.status.str, reply->d.status.len);
      addReplyStrLen (c, "\r\n", 2);
      break;
    case ARC_REPLY_INTEGER:
      addReplyLongLongWithPrefix (c, reply->d.integer.val, ':');
      break;
    case ARC_REPLY_STRING:
      addReplyLongLongWithPrefix (c, reply->d.string.len, '$');
      addReplyStrLen (c, reply->d.string.str, reply->d.string.len);
      addReplyStrLen (c, "\r\n", 2);
      break;
    case ARC_REPLY_ARRAY:
      addReplyLongLongWithPrefix (c, reply->d.array.len, '*');
      for (i = 0; i < reply->d.array.len; i++)
	{
	  addReplyFromCapi (c, reply->d.array.elem[i]);
	}
      break;
    case ARC_REPLY_NIL:
      addReplyStrLen (c, "$-1\r\n", 5);
      break;
    }
}
Esempio n. 2
0
/* Add a C buffer as bulk reply */
void addReplyBulkCBuffer(client *c, const void *p, size_t len) {
    addReplyLongLongWithPrefix(c,len,'$');
    addReplyString(c,p,len);
    addReplyString(c,"\r\n",2);
}
Esempio n. 3
0
void addReplyLongLong(client *c, long long ll) {
    addReplyLongLongWithPrefix(c,ll,':');
}