Skip to content

Commit b7a7c58

Browse files
committed
Updated todo and PKGBUILD after 5.0.0 release.
1 parent 33c3a13 commit b7a7c58

File tree

2 files changed

+2
-108
lines changed

2 files changed

+2
-108
lines changed

Extra/Arch/PKGBUILD

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Maintainer: Federico Di Pierro <[email protected]>
22

33
pkgname=libmodule
4-
pkgver=4.2.0
4+
pkgver=5.0.0
55
pkgrel=1
66
pkgdesc="C linux library to build simple and modular projects"
77
arch=(any)
@@ -10,7 +10,7 @@ license=(MIT)
1010
depends=()
1111
makedepends=(git cmake)
1212
source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/${pkgver}.tar.gz")
13-
sha256sums=("8bab8e23e324df7ffec6377a966ff71ced2c7de1bc59dfd806748fd9fcf5c51f")
13+
sha256sums=("fa82567c56313b69bea589f7a1a027217b722b9c885c2d645a826d8af307a6c9")
1414

1515
prepare() {
1616
cd "${srcdir}/${pkgname}-${pkgver}"

TODO.md

Lines changed: 0 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -1,109 +1,3 @@
1-
## 5.0.0
2-
3-
### PubSub improvements
4-
- [x] avoid strdupping topic when creating pubsub_msg_t
5-
- [x] Only use one pubsub msg for every module, instead of creating one for each recipient
6-
- [x] Keep a reference count for each "sent" pubsub msg: when it reaches 0 it means all recipients received the message, and then in can be freed
7-
- [x] Add an autofree field to module_tell/module_pubsub that automatically frees sent data when last recipient receives it
8-
- [x] Avoid strdupping module's name and ctx's name
9-
- [x] Avoid any allocation inside library and ALWAYS TRUST USER POINTER as core rule
10-
- [x] Add a self() alias to _self
11-
- [x] module_subscribe/unsubscribe should avoid checking if topic is registered in context
12-
- [x] Add new System messages: MODULE_STARTED/STOPPED
13-
- [x] Avoid telling system messages like MODULE_STARTED/TOPIC_REGISTERED to ourselves
14-
- [x] Test pubsub messagging for paused modules
15-
- [x] Fix memleaks!
16-
- [x] Unsubscribe shopuld not check if topic is registered in ctx as otherwise umsubscribing from a deregistered topic would not work.
17-
- [x] pubsub interface should take "const void *" instead of "const unsigned char *" as data
18-
- [x] Add a new parameter "bool global" to module_broadcast?
19-
- [x] FIX: if first context does not receive a global broadcast, message will be destroyed as it has 0 refs...
20-
- [x] Rename pubsub_msg to ps_msg inside msg_t
21-
- [x] Rename pubsub_msg_t to ps_msg_t
22-
- [x] Rename pubsub_priv_t to ps_priv_t
23-
- [x] Add a module_poisonpill() function, to send a system message to a module to stop it -> this will be enqueued in module's message queue,
24-
conversely to module_stop that should stop module right away freeing all its enqueued messages.
25-
- [x] Always destroy messages in flush_pubsub_msg()? RIght now it delivers all of them if we're stopping looping on ctx
26-
- [x] module_poisonpill should only be sent to RUNNING modules
27-
- [x] when stop looping on a context, flush all pubsub messages to RUNNING modules only. Destroy messages for non-running modules.
28-
- [x] Drop (de)register_topic?
29-
- [x] mod->subscriptions map lazy creation
30-
- [x] Support regex topic subscriptions
31-
32-
### Map
33-
- [x] FIx: avoid incrementing map size on value update
34-
- [x] Add test for update
35-
- [x] map->dtor should default to memhook._free, and fallback to default if map_set_dtor is called with NULL callback parameter
36-
- [x] Add map_itr_t interface
37-
- [x] Add tests for new interface
38-
- [x] Improve hashmap implementation
39-
- [x] Add a stress test for hashmap implementation
40-
- [x] Fix map_clear implementation
41-
- [x] Add map_iterate test
42-
- [x] Set keydup and autofree in map_new()
43-
- [x] Drop map_set_dtor
44-
- [x] Destroy old value upon val update
45-
- [x] Avoid destroying map value on update with same pointer; just return MAP_OK
46-
47-
### Stack
48-
- [x] stack->dtor should default to memhook._free, and fallback to default if stack_set_dtor is called with NULL callback parameter
49-
- [X] Add stack_itr_t interface
50-
- [x] Add tests for new interface
51-
- [x] Stack_iterate to follow same logic as map_iterate
52-
- [x] Set autofree in stack_new()
53-
- [x] Drop stack_set_dtor
54-
55-
### Queue
56-
- [x] Add queue API
57-
- [x] Add doc
58-
59-
### Generic
60-
- [x] Add some diagnostic API, eg: module_dump() (to dump each module's state)
61-
- [x] Add a module_load/unload function, to load a module from a compiled object at runtime
62-
- [x] simplify interface for module_load/unload? ie: module_load(path, ctx_name)
63-
- [x] Add test.so build to Easy example
64-
- [x] Re-evaluate module_register/deregister parameters (ie: self_t should not be a const!)
65-
- [x] Provide a default (weak symbol) main() that just runs modules_ctx_loop() on any ctx it found
66-
- [x] Rename MODULE_DEFAULT_CTX and MODULE_MODULE_MAX_EVENTS to MODULES_*
67-
- [x] Actually call init() callback first time module is started, even without passing from evaluate_module (thus without looping ctx)
68-
- [x] module_load/unload should use RTLD_NOLOAD flag instead of yet another hashmap
69-
- [x] module_get_name/ctx to return a strdup string
70-
- [x] Rename modules_set_memalloc_hook to modules_set_memhook() + rename memalloc_hook to memhook_t
71-
- [x] stop() and start() should avoid err_str parameter.
72-
- [x] Stop looping on context when there are no RUNNING modules
73-
- [x] Cleanup some out of date comments in examples
74-
- [x] Avoid exposing in modules.h main() and modules_pre_start() functions: they're not part of libmodule's API and cannot be called as functions.
75-
- [x] Rename module to mod_t and m_context to ctx_t
76-
- [x] Rename module_poll_t to fd_priv_t
77-
- [x] FIX: avoid sending with MODULE_STOPPED pubsub message a not-exishtent reference to mod->self when deregistering, as module gets freed right after. Send NULL.
78-
- [x] FIX: when deregistering, remove module from context before stopping it
79-
- [x] Rename userhook to userhook_t, following other types
80-
81-
### Doc
82-
- [x] module_dump
83-
- [x] module_subscribe/unsubscribe
84-
- [x] self()
85-
- [x] module_register/deregister
86-
- [x] module_load/unload
87-
- [x] module_tell/publish/broadcast
88-
- [x] MODULE_STARTED/MODULE_STOPPED new sysmessages
89-
- [x] Avoid telling system messages like MODULE_STARTED/TOPIC_REGISTERED to ourselves
90-
- [x] Document main() weak symbol!
91-
- [x] Add a new page about trusting pointers
92-
- [x] modules_set_memhook/memhook_t
93-
- [x] new stop behaviour (stop will always destroy pubsub messages instead of delivering them, except when a module gets stopped through module_poisonpill)
94-
- [x] module_poisonpill
95-
- [x] New modules_loop behaviour (stop looping when no RUNNING modules)
96-
- [x] New Map API
97-
- [x] New Stack API
98-
- [x] Dropped (de)register_topic!
99-
100-
### Samples
101-
- [x] Fix samples
102-
103-
### Test
104-
- [x] Fix tests
105-
- [x] add module_dump tests
106-
1071
## 5.1.0
1082

1093
### Submodules

0 commit comments

Comments
 (0)