2012-04-23 86 views
0

我想出了更多的問題!好極了! (對不起)關於API的問題

  1. 「libcouchbase_set_cookie」Api做什麼?

我可以看到它設置了cookie,但libcouchbase的所有API都有「cookie」作爲參數,我們可以將其放入。爲什麼還有另一個API執行此操作?

這個「cookie」的解釋會對你非常有幫助。

  1. IO_opt ...好像設置IO選項api給我......我會查看源文件夾來檢查,但任何解釋都會有幫助,因爲我無法獲得有關couchbase的任何信息網站
+0

將發佈在couchbase.com論壇以及SDK中 – 2012-04-23 09:37:55

+0

在memcached中,cookie是連接對象。雖然我沒有看過libcouchbase api。 – mikewied 2012-04-23 23:52:27

+0

嗯,你可以檢查這個嗎?這真是令人困惑,因爲所有的apis都像「get」,「store」,「remove」等一樣都有「cookie」參數。我真的想檢查這些 – 2012-04-24 00:04:32

回答

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測試套件中查看它是如何在簡單的上下文中使用的。

+0

謝謝你是那兩個餅乾之間的區別...理解:D – 2012-04-27 07:39:11

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> 
+0

的區別,我測試了這個並且運行良好。然而,我的另一個問題是這個「libcouchbase_set_cookie」API ......我不明白爲什麼這實際上是必需的。由於其他API實際上有它們自己的Cookie參數。這兩者有什麼區別? – 2012-04-25 01:06:11