upipe-pthread/upipe_pthread_transfer.h header reference
Upipe module allowing to transfer other pipes to a new POSIX thread More
Header inclusion [link]
Members [link]
Functions [link]
- struct upipe_mgr * upipe_pthread_xfer_mgr_alloc(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr)
- struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_named(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, const char *name)
- struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_named_va(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, const char *format, ...)
- struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_prio(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, int priority)
- struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_prio_named(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, int priority, const char *name)
- struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_prio_named_va(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, int priority, const char *format, ...)
Description [link]
This is particularly helpful for multithreaded applications.
Members detail [link]
#define _UPIPE_PTHREAD_UPIPE_PTHREAD_TRANSFER_H_ [link]
This macro is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 32.
[link]
This struct is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 46.
| Field | Description |
|---|---|
| struct urefcount * refcount; | pointer to refcount management structure |
| int (*umutex_lock)(struct umutex *) ; | lock mutex |
| int (*umutex_unlock)(struct umutex *) ; | unlock mutex |
struct upipe_mgr * upipe_pthread_xfer_mgr_alloc(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr) [link]
This function is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 68.
This function returns a management structure for transfer pipes, using a new pthread. You would need one management structure per target thread.
Parameter list:
- queue_length: maximum length of the internal queue of commands
- msg_pool_depth: maximum number of messages in the pool
- uprobe_pthread_upump_mgr: pointer to optional probe, that will be set with the created upump_mgr
- upump_mgr_alloc: alloc function provided by the upump manager
- upump_pool_depth: maximum number of upump structures in the pool
- upump_blocker_pool_depth: maximum number of upump_blocker structures in the pool
- mutex: mutual exclusion pimitives to access the event loop, or NULL
- pthread_id_p: reference to created thread ID (may be NULL)
- attr: pthread attributes
The return value is pointer to xfer manager
struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_named(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, const char *name) [link]
This function is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 93.
This function returns a management structure for transfer pipes, using a new pthread with a custom name. You would need one management structure per target thread.
Parameter list:
- queue_length: maximum length of the internal queue of commands
- msg_pool_depth: maximum number of messages in the pool
- uprobe_pthread_upump_mgr: pointer to optional probe, that will be set with the created upump_mgr
- upump_mgr_alloc: alloc function provided by the upump manager
- upump_pool_depth: maximum number of upump structures in the pool
- upump_blocker_pool_depth: maximum number of upump_blocker structures in the pool
- mutex: mutual exclusion pimitives to access the event loop, or NULL
- pthread_id_p: reference to created thread ID (may be NULL)
- attr: pthread attributes
- name: custom name
The return value is pointer to xfer manager
struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_named_va(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, const char *format, ...) [link]
This function is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 121.
This function returns a management structure for transfer pipes, using a new pthread with a printf-style custom name. You would need one management structure per target thread.
Parameter list:
- queue_length: maximum length of the internal queue of commands
- msg_pool_depth: maximum number of messages in the pool
- uprobe_pthread_upump_mgr: pointer to optional probe, that will be set with the created upump_mgr
- upump_mgr_alloc: alloc function provided by the upump manager
- upump_pool_depth: maximum number of upump structures in the pool
- upump_blocker_pool_depth: maximum number of upump_blocker structures in the pool
- mutex: mutual exclusion pimitives to access the event loop, or NULL
- pthread_id_p: reference to created thread ID (may be NULL)
- attr: pthread attributes
- format: format of the custom name, followed by optional arguments
The return value is pointer to xfer manager
struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_prio(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, int priority) [link]
This function is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 155.
This function returns a management structure for transfer pipes, using a new pthread. You would need one management structure per target thread.
Parameter list:
- queue_length: maximum length of the internal queue of commands
- msg_pool_depth: maximum number of messages in the pool
- uprobe_pthread_upump_mgr: pointer to optional probe, that will be set with the created upump_mgr
- upump_mgr_alloc: alloc function provided by the upump manager
- upump_pool_depth: maximum number of upump structures in the pool
- upump_blocker_pool_depth: maximum number of upump_blocker structures in the pool
- mutex: mutual exclusion pimitives to access the event loop, or NULL
- pthread_id_p: reference to created thread ID (may be NULL)
- attr: pthread attributes
- priority: priority of the thread or INT_MAX to leave it unchanged
The return value is pointer to xfer manager
struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_prio_named(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, int priority, const char *name) [link]
This function is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 181.
This function returns a management structure for transfer pipes, using a new pthread. You would need one management structure per target thread.
Parameter list:
- queue_length: maximum length of the internal queue of commands
- msg_pool_depth: maximum number of messages in the pool
- uprobe_pthread_upump_mgr: pointer to optional probe, that will be set with the created upump_mgr
- upump_mgr_alloc: alloc function provided by the upump manager
- upump_pool_depth: maximum number of upump structures in the pool
- upump_blocker_pool_depth: maximum number of upump_blocker structures in the pool
- mutex: mutual exclusion pimitives to access the event loop, or NULL
- pthread_id_p: reference to created thread ID (may be NULL)
- attr: pthread attributes
- priority: priority of the thread or INT_MAX to leave it unchanged
- name: custom name or NULL
The return value is pointer to xfer manager
struct upipe_mgr * upipe_pthread_xfer_mgr_alloc_prio_named_va(uint8_t queue_length, uint16_t msg_pool_depth, struct uprobe *uprobe_pthread_upump_mgr, upump_mgr_alloc upump_mgr_alloc, uint16_t upump_pool_depth, uint16_t upump_blocker_pool_depth, struct umutex *mutex, pthread_t *pthread_id_p, const pthread_attr_t *attr, int priority, const char *format, ...) [link]
This function is declared in upipe-pthread/upipe_pthread_transfer.h source file, line 210.
This function returns a management structure for transfer pipes, using a new pthread with a printf-style custom name. You would need one management structure per target thread.
Parameter list:
- queue_length: maximum length of the internal queue of commands
- msg_pool_depth: maximum number of messages in the pool
- uprobe_pthread_upump_mgr: pointer to optional probe, that will be set with the created upump_mgr
- upump_mgr_alloc: alloc function provided by the upump manager
- upump_pool_depth: maximum number of upump structures in the pool
- upump_blocker_pool_depth: maximum number of upump_blocker structures in the pool
- mutex: mutual exclusion pimitives to access the event loop, or NULL
- pthread_id_p: reference to created thread ID (may be NULL)
- attr: pthread attributes
- priority: priority of the thread or INT_MAX to leave it unchanged
- format: format of the custom name, followed by optional arguments
The return value is pointer to xfer manager