0

さらに質問が出てきました!わーい!(ごめん)

  1. "libcouchbase_set_cookie" API は何をしますか?

Cookie が設定されていることがわかりますが、libcouchbase のすべての API には、それを入れることができるパラメーターとして「cookie」があります。これを行う別の API があるのはなぜですか?

この「クッキー」の説明は大変参考になります ありがとうございます。

  1. IO_opt ... IO オプション api を設定しているようです... ソース フォルダーを調べて確認しますが、couchbase Web サイトで情報を取得できなかったので、これに関する説明も役に立ちます。
4

2 に答える 2

1

libcouchbase には 2 つの形式の Cookie があります。1 つは操作用の「ユーザー コンテキスト」(コールバックで渡されます) で、もう 1 つは実際の libcouchbase_t ハンドル用の「ユーザー コンテキスト」です。(混乱しないでください。ただし、特に iops 構造に関連付けられた 3 番目の Cookie がまだあります:))。

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 に答える