mirror of https://github.com/ceph/go-ceph
rados: watcher apis are now stable
Watcher apis are now stable as per the stability plan. Signed-off-by: John Mulligan <jmulligan@redhat.com>
This commit is contained in:
parent
096745e86b
commit
ec0b9a1455
|
@ -937,6 +937,50 @@
|
||||||
{
|
{
|
||||||
"name": "WriteOp.CmpExt",
|
"name": "WriteOp.CmpExt",
|
||||||
"comment": "CmpExt ensures that given object range (extent) satisfies comparison.\n\nImplements:\n void rados_write_op_cmpext(rados_write_op_t write_op,\n const char * cmp_buf,\n size_t cmp_len,\n uint64_t off,\n int * prval);\n"
|
"comment": "CmpExt ensures that given object range (extent) satisfies comparison.\n\nImplements:\n void rados_write_op_cmpext(rados_write_op_t write_op,\n const char * cmp_buf,\n size_t cmp_len,\n uint64_t off,\n int * prval);\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IOContext.Watch",
|
||||||
|
"comment": "Watch creates a Watcher for the specified object.\n\nA Watcher receives all notifications that are sent to the object on which it\nhas been created. It exposes two read-only channels: Events() receives all\nthe NotifyEvents and Errors() receives all occuring errors. A typical code\ncreating a Watcher could look like this:\n\n watcher, err := ioctx.Watch(oid)\n go func() { // event handler\n for ne := range watcher.Events() {\n ...\n ne.Ack([]byte(\"response data...\"))\n ...\n }\n }()\n go func() { // error handler\n for err := range watcher.Errors() {\n ... handle err ...\n }\n }()\n\nCAUTION: the Watcher references the IOContext in which it has been created.\nTherefore all watchers must be deleted with the Delete() method before the\nIOContext is being destroyed.\n\nImplements:\n int rados_watch2(rados_ioctx_t io, const char* o, uint64_t* cookie,\n rados_watchcb2_t watchcb, rados_watcherrcb_t watcherrcb, void* arg)\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IOContext.WatchWithTimeout",
|
||||||
|
"comment": "WatchWithTimeout creates a watcher on an object. Same as Watcher(), but\ndifferent timeout than the default can be specified.\n\nImplements:\n int rados_watch3(rados_ioctx_t io, const char *o, uint64_t *cookie,\n\t rados_watchcb2_t watchcb, rados_watcherrcb_t watcherrcb, uint32_t timeout,\n\t void *arg);\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Watcher.ID",
|
||||||
|
"comment": "ID returns the WatcherId of the Watcher\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Watcher.Events",
|
||||||
|
"comment": "Events returns a read-only channel, that receives all notifications that are\nsent to the object of the Watcher.\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Watcher.Errors",
|
||||||
|
"comment": "Errors returns a read-only channel, that receives all errors for the Watcher.\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Watcher.Check",
|
||||||
|
"comment": "Check on the status of a Watcher.\n\nReturns the time since it was last confirmed. If there is an error, the\nWatcher is no longer valid, and should be destroyed with the Delete() method.\n\nImplements:\n int rados_watch_check(rados_ioctx_t io, uint64_t cookie)\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Watcher.Delete",
|
||||||
|
"comment": "Delete the watcher. This closes both the event and error channel.\n\nImplements:\n int rados_unwatch2(rados_ioctx_t io, uint64_t cookie)\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IOContext.Notify",
|
||||||
|
"comment": "Notify sends a notification with the provided data to all Watchers of the\nspecified object.\n\nCAUTION: even if the error is not nil. the returned slices\nmight still contain data.\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "IOContext.NotifyWithTimeout",
|
||||||
|
"comment": "NotifyWithTimeout is like Notify() but with a different timeout than the\ndefault.\n\nImplements:\n int rados_notify2(rados_ioctx_t io, const char* o, const char* buf, int buf_len,\n uint64_t timeout_ms, char** reply_buffer, size_t* reply_buffer_len)\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "NotifyEvent.Ack",
|
||||||
|
"comment": "Ack sends an acknowledgement with the specified response data to the notfier\nof the NotifyEvent. If a notify is not ack'ed, the originating Notify() call\nblocks and eventiually times out.\n\nImplements:\n int rados_notify_ack(rados_ioctx_t io, const char *o, uint64_t notify_id,\n uint64_t cookie, const char *buf, int buf_len)\n"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Conn.WatcherFlush",
|
||||||
|
"comment": "WatcherFlush flushes all pending notifications of the cluster.\n\nImplements:\n int rados_watch_flush(rados_t cluster)\n"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"preview_api": [
|
"preview_api": [
|
||||||
|
@ -982,72 +1026,6 @@
|
||||||
"added_in_version": "v0.14.0",
|
"added_in_version": "v0.14.0",
|
||||||
"expected_stable_version": "v0.16.0"
|
"expected_stable_version": "v0.16.0"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"name": "IOContext.Watch",
|
|
||||||
"comment": "Watch creates a Watcher for the specified object.\n\nA Watcher receives all notifications that are sent to the object on which it\nhas been created. It exposes two read-only channels: Events() receives all\nthe NotifyEvents and Errors() receives all occuring errors. A typical code\ncreating a Watcher could look like this:\n\n watcher, err := ioctx.Watch(oid)\n go func() { // event handler\n for ne := range watcher.Events() {\n ...\n ne.Ack([]byte(\"response data...\"))\n ...\n }\n }()\n go func() { // error handler\n for err := range watcher.Errors() {\n ... handle err ...\n }\n }()\n\nCAUTION: the Watcher references the IOContext in which it has been created.\nTherefore all watchers must be deleted with the Delete() method before the\nIOContext is being destroyed.\n\nImplements:\n int rados_watch2(rados_ioctx_t io, const char* o, uint64_t* cookie,\n rados_watchcb2_t watchcb, rados_watcherrcb_t watcherrcb, void* arg)\n",
|
|
||||||
"added_in_version": "v0.14.0",
|
|
||||||
"expected_stable_version": "v0.16.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "IOContext.WatchWithTimeout",
|
|
||||||
"comment": "WatchWithTimeout creates a watcher on an object. Same as Watcher(), but\ndifferent timeout than the default can be specified.\n\nImplements:\n int rados_watch3(rados_ioctx_t io, const char *o, uint64_t *cookie,\n\t rados_watchcb2_t watchcb, rados_watcherrcb_t watcherrcb, uint32_t timeout,\n\t void *arg);\n",
|
|
||||||
"added_in_version": "v0.14.0",
|
|
||||||
"expected_stable_version": "v0.16.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Watcher.ID",
|
|
||||||
"comment": "ID returns the WatcherId of the Watcher\n",
|
|
||||||
"added_in_version": "v0.14.0",
|
|
||||||
"expected_stable_version": "v0.16.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Watcher.Events",
|
|
||||||
"comment": "Events returns a read-only channel, that receives all notifications that are\nsent to the object of the Watcher.\n",
|
|
||||||
"added_in_version": "v0.14.0",
|
|
||||||
"expected_stable_version": "v0.16.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Watcher.Errors",
|
|
||||||
"comment": "Errors returns a read-only channel, that receives all errors for the Watcher.\n",
|
|
||||||
"added_in_version": "v0.14.0",
|
|
||||||
"expected_stable_version": "v0.16.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Watcher.Check",
|
|
||||||
"comment": "Check on the status of a Watcher.\n\nReturns the time since it was last confirmed. If there is an error, the\nWatcher is no longer valid, and should be destroyed with the Delete() method.\n\nImplements:\n int rados_watch_check(rados_ioctx_t io, uint64_t cookie)\n",
|
|
||||||
"added_in_version": "v0.14.0",
|
|
||||||
"expected_stable_version": "v0.16.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Watcher.Delete",
|
|
||||||
"comment": "Delete the watcher. This closes both the event and error channel.\n\nImplements:\n int rados_unwatch2(rados_ioctx_t io, uint64_t cookie)\n",
|
|
||||||
"added_in_version": "v0.14.0",
|
|
||||||
"expected_stable_version": "v0.16.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "IOContext.Notify",
|
|
||||||
"comment": "Notify sends a notification with the provided data to all Watchers of the\nspecified object.\n\nCAUTION: even if the error is not nil. the returned slices\nmight still contain data.\n",
|
|
||||||
"added_in_version": "v0.14.0",
|
|
||||||
"expected_stable_version": "v0.16.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "IOContext.NotifyWithTimeout",
|
|
||||||
"comment": "NotifyWithTimeout is like Notify() but with a different timeout than the\ndefault.\n\nImplements:\n int rados_notify2(rados_ioctx_t io, const char* o, const char* buf, int buf_len,\n uint64_t timeout_ms, char** reply_buffer, size_t* reply_buffer_len)\n",
|
|
||||||
"added_in_version": "v0.14.0",
|
|
||||||
"expected_stable_version": "v0.16.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "NotifyEvent.Ack",
|
|
||||||
"comment": "Ack sends an acknowledgement with the specified response data to the notfier\nof the NotifyEvent. If a notify is not ack'ed, the originating Notify() call\nblocks and eventiually times out.\n\nImplements:\n int rados_notify_ack(rados_ioctx_t io, const char *o, uint64_t notify_id,\n uint64_t cookie, const char *buf, int buf_len)\n",
|
|
||||||
"added_in_version": "v0.14.0",
|
|
||||||
"expected_stable_version": "v0.16.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Conn.WatcherFlush",
|
|
||||||
"comment": "WatcherFlush flushes all pending notifications of the cluster.\n\nImplements:\n int rados_watch_flush(rados_t cluster)\n",
|
|
||||||
"added_in_version": "v0.14.0",
|
|
||||||
"expected_stable_version": "v0.16.0"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "IOContext.SetLocator",
|
"name": "IOContext.SetLocator",
|
||||||
"comment": "SetLocator sets the key for mapping objects to pgs within an io context.\nUntil a different locator key is set, all objects in this io context will be placed in the same pg.\nTo reset the locator, an empty string must be set.\n\nImplements:\n void rados_ioctx_locator_set_key(rados_ioctx_t io, const char *key);\n",
|
"comment": "SetLocator sets the key for mapping objects to pgs within an io context.\nUntil a different locator key is set, all objects in this io context will be placed in the same pg.\nTo reset the locator, an empty string must be set.\n\nImplements:\n void rados_ioctx_locator_set_key(rados_ioctx_t io, const char *key);\n",
|
||||||
|
|
|
@ -32,17 +32,6 @@ WriteOp.AssertVersion | v0.14.0 | v0.16.0 |
|
||||||
WriteOp.SetXattr | v0.14.0 | v0.16.0 |
|
WriteOp.SetXattr | v0.14.0 | v0.16.0 |
|
||||||
ReadOpOmapGetValsByKeysStep.Next | v0.14.0 | v0.16.0 |
|
ReadOpOmapGetValsByKeysStep.Next | v0.14.0 | v0.16.0 |
|
||||||
ReadOp.GetOmapValuesByKeys | v0.14.0 | v0.16.0 |
|
ReadOp.GetOmapValuesByKeys | v0.14.0 | v0.16.0 |
|
||||||
IOContext.Watch | v0.14.0 | v0.16.0 |
|
|
||||||
IOContext.WatchWithTimeout | v0.14.0 | v0.16.0 |
|
|
||||||
Watcher.ID | v0.14.0 | v0.16.0 |
|
|
||||||
Watcher.Events | v0.14.0 | v0.16.0 |
|
|
||||||
Watcher.Errors | v0.14.0 | v0.16.0 |
|
|
||||||
Watcher.Check | v0.14.0 | v0.16.0 |
|
|
||||||
Watcher.Delete | v0.14.0 | v0.16.0 |
|
|
||||||
IOContext.Notify | v0.14.0 | v0.16.0 |
|
|
||||||
IOContext.NotifyWithTimeout | v0.14.0 | v0.16.0 |
|
|
||||||
NotifyEvent.Ack | v0.14.0 | v0.16.0 |
|
|
||||||
Conn.WatcherFlush | v0.14.0 | v0.16.0 |
|
|
||||||
IOContext.SetLocator | v0.15.0 | v0.17.0 |
|
IOContext.SetLocator | v0.15.0 | v0.17.0 |
|
||||||
|
|
||||||
## Package: rbd
|
## Package: rbd
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
//go:build ceph_preview
|
|
||||||
// +build ceph_preview
|
|
||||||
|
|
||||||
package rados
|
package rados
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
//go:build ceph_preview
|
|
||||||
// +build ceph_preview
|
|
||||||
|
|
||||||
package rados
|
package rados
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
|
Loading…
Reference in New Issue