0

我想出了更多的问题!耶!(对不起)

  1. “libcouchbase_set_cookie”API 是做什么的?

我可以看到它设置了cookie,但是libcouchbase的所有API都有“cookie”作为我们可以放入的参数。为什么还有另一个API这样做?

解释这个“cookie”的东西会非常有帮助,谢谢。

  1. IO_opt ...似乎为我设置了IO选项api...我将查看源文件夹进行检查,但对此的任何解释也会有所帮助,因为我无法在couchbase网站上获得任何信息
4

2 回答 2

1

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

libcouchbase 中的“cookie”类似于您会发现的这个成语:

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

在其他一些图书馆。

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

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

于 2012-04-27T06:20:14.173 回答
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>
于 2012-04-24T18:36:50.943 回答