X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=html%2Fphp__raphf_8c.html;fp=html%2Fphp__raphf_8c.html;h=0000000000000000000000000000000000000000;hb=2bc39f5c43ada90ec138c77406af2cb4205e7864;hp=653292b5ba7f17cfbc47fdcdcb51ed35844f1428;hpb=81a621e4317ff8dca39d22e91e8a26d1d2cf89cc;p=m6w6%2Fext-raphf diff --git a/html/php__raphf_8c.html b/html/php__raphf_8c.html deleted file mode 100644 index 653292b..0000000 --- a/html/php__raphf_8c.html +++ /dev/null @@ -1,956 +0,0 @@ - - -
- - - -- |
- Resource and persistent handle factory API
-
- A facility to manage possibly persistent resources with a comprehensible API. Provides simliar functionality like the zend_list API, but with more flexiblity and freedom.
- |
-
-Macros | |
#define | PHP_RAPHF_G (&raphf_globals) |
#define | PHP_RAPHF_DEBUG_PHANDLES 0 |
-Typedefs | |
typedef int | STATUS |
-Functions | |
php_resource_factory_t * | php_resource_factory_init (php_resource_factory_t *f, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *data)) |
Initialize a resource factory. More... | |
unsigned | php_resource_factory_addref (php_resource_factory_t *rf) |
Increase the refcount of the resource factory. More... | |
void | php_resource_factory_dtor (php_resource_factory_t *f) |
Destroy the resource factory. More... | |
void | php_resource_factory_free (php_resource_factory_t **f) |
Destroy and free the resource factory. More... | |
void * | php_resource_factory_handle_ctor (php_resource_factory_t *f, void *init_arg) |
Construct a resource by the resource factory f. More... | |
void * | php_resource_factory_handle_copy (php_resource_factory_t *f, void *handle) |
Create a copy of the resource handle. More... | |
void | php_resource_factory_handle_dtor (php_resource_factory_t *f, void *handle) |
Destroy (and free) the resource. More... | |
PHP_RAPHF_API STATUS | php_persistent_handle_provide (const char *name_str, size_t name_len, php_resource_factory_ops_t *fops, void *data, void(*dtor)(void *)) |
Register a persistent handle provider in MINIT. More... | |
php_persistent_handle_factory_t * | php_persistent_handle_concede (php_persistent_handle_factory_t *a, const char *name_str, size_t name_len, const char *ident_str, size_t ident_len, php_persistent_handle_wakeup_t wakeup, php_persistent_handle_retire_t retire) |
Retrieve a persistent handle factory at runtime. More... | |
PHP_RAPHF_API void | php_persistent_handle_abandon (php_persistent_handle_factory_t *a) |
Abandon the persistent handle factory. More... | |
void * | php_persistent_handle_acquire (php_persistent_handle_factory_t *a, void *init_arg) |
Acquire a persistent handle. More... | |
void * | php_persistent_handle_accrete (php_persistent_handle_factory_t *a, void *handle) |
void | php_persistent_handle_release (php_persistent_handle_factory_t *a, void *handle) |
Release a persistent handle. More... | |
void | php_persistent_handle_cleanup (const char *name_str, size_t name_len, const char *ident_str, size_t ident_len) |
HashTable * | php_persistent_handle_statall (HashTable *ht) |
php_resource_factory_ops_t * | php_persistent_handle_get_resource_factory_ops (void) |
ZEND_END_ARG_INFO () | |
STD_PHP_INI_ENTRY ("raphf.persistent_handle.limit","-1", PHP_INI_SYSTEM, OnUpdateLong, persistent_handle.limit, zend_raphf_globals, raphf_globals) static HashTable *php_persistent_handles_global_hash | |
PHP_MINIT_FUNCTION (raphf) | |
PHP_MSHUTDOWN_FUNCTION (raphf) | |
PHP_MINFO_FUNCTION (raphf) | |
-Variables | |
struct -php_persistent_handle_globals | persistent_handle |
zend_module_entry | raphf_module_entry |
#define PHP_RAPHF_DEBUG_PHANDLES 0 | -
#define PHP_RAPHF_G (&raphf_globals) | -
typedef int STATUS | -
PHP_MINFO_FUNCTION | -( | -raphf | -) | -- |
PHP_MINIT_FUNCTION | -( | -raphf | -) | -- |
PHP_MSHUTDOWN_FUNCTION | -( | -raphf | -) | -- |
PHP_RAPHF_API void php_persistent_handle_abandon | -( | -php_persistent_handle_factory_t * | -a | ) | -- |
Abandon the persistent handle factory.
-Destroy a php_persistent_handle_factory created by php_persistent_handle_concede(). If the memory for the factory was allocated, it will automatically be free'd.
-a | the persistent handle factory to destroy |
void* php_persistent_handle_accrete | -( | -php_persistent_handle_factory_t * | -a, | -
- | - | void * | -handle | -
- | ) | -- |
void* php_persistent_handle_acquire | -( | -php_persistent_handle_factory_t * | -a, | -
- | - | void * | -init_arg | -
- | ) | -- |
Acquire a persistent handle.
-That is, either re-use a resource from the free list or create a new handle.
-If a handle is acquired from the free list, the php_persistent_handle_wakeup() callback attached to this persistent handle factory is executed for that handle.
-a | the persistent handle factory |
init_arg | the init_arg for php_resource_factory_handle_ctor() |
void php_persistent_handle_cleanup | -( | -const char * | -name_str, | -
- | - | size_t | -name_len, | -
- | - | const char * | -ident_str, | -
- | - | size_t | -ident_len | -
- | ) | -- |
php_persistent_handle_factory_t* php_persistent_handle_concede | -( | -php_persistent_handle_factory_t * | -a, | -
- | - | const char * | -name_str, | -
- | - | size_t | -name_len, | -
- | - | const char * | -ident_str, | -
- | - | size_t | -ident_len, | -
- | - | php_persistent_handle_wakeup_t | -wakeup, | -
- | - | php_persistent_handle_retire_t | -retire | -
- | ) | -- |
Retrieve a persistent handle factory at runtime.
-If a persistent handle provider has been registered for name_str, a new php_persistent_handle_factory creating resources in the ident_str namespace will be constructed.
-The wakeup routine wakeup and the retire routine retire will be assigned to the new php_persistent_handle_factory.
-a | pointer to a factory; allocated on the heap if NULL |
name_str | the provider name, e.g. "http\Client\Curl" |
name_len | the provider name length, e.g. strlen("http\Client\Curl") |
ident_str | the subsidiary namespace, e.g. "php.net:80" |
ident_len | the subsidiary namespace lenght, e.g. strlen("php.net:80") |
wakeup | any persistent handle wakeup routine |
retire | any persistent handle retire routine |
php_resource_factory_ops_t* php_persistent_handle_get_resource_factory_ops | -( | -void | -) | -- |
PHP_RAPHF_API STATUS php_persistent_handle_provide | -( | -const char * | -name_str, | -
- | - | size_t | -name_len, | -
- | - | php_resource_factory_ops_t * | -fops, | -
- | - | void * | -data, | -
- | - | void(*)(void *) | -dtor | -
- | ) | -- |
Register a persistent handle provider in MINIT.
-Registers a factory provider for name_str with fops resource factory ops. Call this in your MINIT.
-A php_resource_factory will be created with fops, data and dtor and will be stored together with a php_persistent_handle_list in the global raphf hash.
-A php_persistent_handle_factory can then be retrieved by php_persistent_handle_concede() at runtime.
-name_str | the provider name, e.g. "http\Client\Curl" |
name_len | the provider name length, e.g. strlen("http\Client\Curl") |
fops | the resource factory ops |
data | opaque user data |
dtor | data destructor |
void php_persistent_handle_release | -( | -php_persistent_handle_factory_t * | -a, | -
- | - | void * | -handle | -
- | ) | -- |
Release a persistent handle.
-That is, either put it back into the free list for later re-use or clean it up with php_resource_factory_handle_dtor().
-If a handle is put back into the free list, the php_persistent_handle_retire() callback attached to this persistent handle factory is executed for that handle.
-a | the persistent handle factory |
handle | the handle to release |
HashTable* php_persistent_handle_statall | -( | -HashTable * | -ht | ) | -- |
unsigned php_resource_factory_addref | -( | -php_resource_factory_t * | -rf | ) | -- |
Increase the refcount of the resource factory.
-rf | the resource factory |
void php_resource_factory_dtor | -( | -php_resource_factory_t * | -f | ) | -- |
Destroy the resource factory.
-If the factory's refcount reaches 0, the dtor for data is called.
-f | the resource factory |
Referenced by php_persistent_handle_provide(), and php_resource_factory_free().
- -void php_resource_factory_free | -( | -php_resource_factory_t ** | -f | ) | -- |
Destroy and free the resource factory.
-Calls php_resource_factory_dtor() and frees \æ f if the factory's refcount reached 0.
-f | the resource factory |
void* php_resource_factory_handle_copy | -( | -php_resource_factory_t * | -f, | -
- | - | void * | -handle | -
- | ) | -- |
Create a copy of the resource handle.
-f | the resource factory |
handle | the resource to copy |
Referenced by php_persistent_handle_accrete().
- -void* php_resource_factory_handle_ctor | -( | -php_resource_factory_t * | -f, | -
- | - | void * | -init_arg | -
- | ) | -- |
Construct a resource by the resource factory f.
-f | the resource factory |
init_arg | for the resource constructor |
Referenced by php_persistent_handle_acquire().
- -void php_resource_factory_handle_dtor | -( | -php_resource_factory_t * | -f, | -
- | - | void * | -handle | -
- | ) | -- |
Destroy (and free) the resource.
-f | the resource factory |
handle | the resource to destroy |
Referenced by php_persistent_handle_release().
- -php_resource_factory_t* php_resource_factory_init | -( | -php_resource_factory_t * | -f, | -
- | - | php_resource_factory_ops_t * | -fops, | -
- | - | void * | -data, | -
- | - | void(*)(void *data) | -dtor | -
- | ) | -- |
Initialize a resource factory.
-Usually called by php_http_persistent_handle_provide().
-f | the factory to initialize; if NULL allocated on the heap |
fops | the resource ops to assign to the factory |
data | opaque user data; may be NULL |
dtor | a destructor for the data; may be NULL |
Referenced by php_persistent_handle_provide().
- -STD_PHP_INI_ENTRY | -( | -"raphf.persistent_handle.limit" | -, | -
- | - | "-1" | -, | -
- | - | PHP_INI_SYSTEM | -, | -
- | - | OnUpdateLong | -, | -
- | - | persistent_handle. | -limit, | -
- | - | zend_raphf_globals | -, | -
- | - | raphf_globals | -- |
- | ) | -- |
ZEND_END_ARG_INFO | -( | -) | -- |
struct php_persistent_handle_globals persistent_handle | -
zend_module_entry raphf_module_entry | -