有关API的问题

时间:2012-04-23 09:37:01

标签: couchbase

我提出了更多问题!好极了! (对不起)

  1. " libcouchbase_set_cookie"阿皮呢?
  2. 我可以看到它设置了cookie,但是libcouchbase的所有API都有" cookie"作为我们可以把它放入的参数。为什么还有另一个API呢?

    解释这个" cookie"事情会非常有用,谢谢你。

    1. IO_opt ...好像在向我设置IO选项api ...我会在源文件夹中查看但是对此的任何解释都会有所帮助,因为我无法在couchbase网站上获得任何信息

2 个答案:

答案 0 :(得分:1)

在libcouchbase中有两种形式的cookie,一种是操作的“用户上下文”(并在回调中传递给你),另一种是实际libcouchbase_t句柄的“用户上下文”。 (不要混淆,但还有第三个与iops结构相关的cookie)。)。

libcouchbase中的'cookie'类似于你找到的这个习语:

struct frobnicate_st {
/* private library stuff */
...
/* store anything you like here */
void *user_data;
};

在其他一些图书馆。

因为单个操作的上下文和生命周期可以跨越多个回调,并且因为您通常需要在某处存储操作的结果(状态代码和实际值),所以cookie参数特别有用(如果不是彻头彻尾的必要)

您可以浏览libcouchbase测试套件,看看它是如何在简单的上下文中使用的。

答案 1 :(得分:0)

cookie用于允许您将上下文与操作相关联。如果不使用,则不需要将其设置为NULL。以下是libcouchbase项目中cookie的文档。

<argument id="cookie" type="const void*">
  <m_title>Client cookie</m_title>
  <description>
    This is a cookie the client may attach to all requests that will be
    included in all callbacks. It is not required and may be NULL if
    you have no need for it.
  </description>
  <langtype id="c" type="const void*"/>
</argument>