80d870e41a
Manager
...
- Added field `watcher` of type `Watcher`
2023-03-26 18:24:15 +02:00
de44080c6b
Package (tristanable)
...
- Added public imports along with comments per each
Encoding
- Added a stub class, `TaggedMessage`, for encoding and decoding the tristanable byte payload
Exceptions
- Added `TristanableException` exception type along with the `Error` enum sub-type
Manager
- Added stub code for `Manager` to manage the queues and socket
Queue
- Added stub class representing a queue with a tag (`Queue`)
QueueItem
- Added stub class `QueueItem` which represents an item that is enqueued/dequeued onto a `Queue`
Watcher
- Added stub class `Watcher` which will manage the socket reading-wise
2023-03-26 18:22:15 +02:00
01a5d779c8
Package
...
- Added a title to the documentation to better describe what this library does
Dub
- Updated package description
- Added project website link
2023-03-03 17:49:32 +02:00
f8aa3b92cf
Package
...
- Added imports that should be publically imported (exported into the user)
2023-03-03 17:47:23 +02:00
8828e3ffdd
Manager
...
- Added an array of `Queue`(s) to the manager
Queue
- Added comments
- Initialize the libsnooze `Event` during construction of the `Queue` type
Dub
- Upgraded libsnooze from `0.2.7` to `0.2.9`
Repository
- Removed `dub.selections.json` file
- Added `dub.selections.json` to the `.gitignore`
2023-03-03 17:44:51 +02:00
e7f93cd78a
- Upgraded to working version of libsnooze
(compilation-wise)
...
- Fixed imports and missing definitions in `queue` module
2023-02-26 22:24:49 +02:00
17da826d07
Restarting project
2023-02-26 21:55:13 +02:00
e59dca0c4d
this.flags was not set, resulting in the default .init for QueuePolicy being used and enforcing LENGHT_CAPPING by default even when default behaviour should be not to, per the constructors (this()'s) parameters
2022-03-19 13:29:32 +02:00
ad99ef63d9
Added TODO
2021-09-09 16:18:16 +02:00
b58fb718a7
Added some comments
2021-09-09 16:09:27 +02:00
ddd46f3388
Added some comments
2021-09-09 18:02:45 +02:00
df4d479e54
Throw an exception when trying to remove a queue with an id not in use by any queue
2021-09-09 18:01:14 +02:00
0c43e80cf6
Throw an exception when trying to add a queue with an id already in use by another queue
2021-09-09 18:00:59 +02:00
26bdcf7d83
Added comment
2021-09-09 11:30:44 +02:00
c241d06ea9
Added poll()
which lets user check if the queue is empty or not
2021-09-09 11:21:19 +02:00
9c7d15dc89
corrected last commit
2021-09-08 22:09:48 +02:00
e1c28d9c11
Added getSocket()
method to the Manager class
2021-09-08 22:08:03 +02:00
b4bf4d5af5
Fixed bug for shutdowns
2021-09-08 20:54:34 +02:00
e5a0a280bc
Changed API
2021-09-08 20:50:22 +02:00
b060b30c44
Added sendMessage
to bformat encode the final t-encoded message
2021-09-08 20:45:39 +02:00
1b88d1f8bf
Added some exceptional stuff
2021-09-08 20:24:45 +02:00
88be3d08e3
Added exception class
...
ALso added `getQueues()` function
2021-09-08 19:21:33 +02:00
d9e5e54477
Added some todos for later
2021-09-08 14:29:27 +02:00
4f83991baf
Added the ability to delete a queue
...
Updated todo
2021-09-08 14:24:58 +02:00
6a00c620ec
Cleaned up import
2021-09-08 14:07:56 +02:00
a3ca66db2b
Added the ability to set a max length for queues
2021-09-08 14:06:38 +02:00
3ce8bda7de
Clean up
2021-09-08 13:51:28 +02:00
7ba3c9f1f7
Added package.d
2021-09-08 13:49:41 +02:00
445e008603
generateQueue()
now uses new isValidTag(ulong)
2021-09-08 13:47:53 +02:00
d48cc4267e
Clean up
2021-09-08 13:47:04 +02:00
3103adcb0f
Removed uneeded function
2021-09-08 13:46:57 +02:00
e8d4e0ae20
addQueue() now uses recursive mutex capabilities with re-impkemented isValidTag()
2021-09-08 13:46:38 +02:00
ea32c7eef4
Re-implemented isValidTag(ulong)
2021-09-08 13:46:05 +02:00
384f286f83
Use recursive mutex capabilities
2021-09-08 13:42:25 +02:00
7a60a31e0a
Added generateQueue()
to create random queues for those who don't care about reserved ids
2021-09-08 13:40:39 +02:00
bfa4364a99
Added shutdown capability
2021-09-08 11:19:05 +02:00
5f16e8d5b0
Use DList
2021-09-08 11:14:03 +02:00
Tristan B. Kildaire
ca63a218c8
Undid that shit
2021-01-30 12:18:45 +02:00
Tristan B. Kildaire
e7e82c5491
Fixed visibility issues
2021-01-30 12:18:23 +02:00
Tristan B. Kildaire
848d1b7a63
Start watcher
2020-10-16 17:11:32 +02:00
Tristan B. Kildaire
984261a394
Added missing watcher
2020-10-16 17:11:26 +02:00
Tristan B. Kildaire
2c5d871378
Added comment
2020-10-15 11:34:03 +02:00
Tristan B. Kildaire
73322667fa
Added missing imports
2020-09-29 19:19:34 +02:00
Tristan B. Kildaire
98d672434a
Added missing imports
2020-09-29 19:18:59 +02:00
Tristan B. Kildaire
41199e96fc
Renamed
2020-09-29 19:18:53 +02:00
Tristan B. Kildaire
96e755d3cc
Added getTag()
and getData()
and made instance variables private
2020-09-29 19:18:45 +02:00
Tristan B. Kildaire
24d56c93a9
Added new changes
2020-09-29 19:13:36 +02:00
Tristan B. Kildaire
176310761c
Deleted old code
2020-09-29 19:13:21 +02:00
Tristan B. Kildaire
1f07b06316
WIP: tristanable-ng
2020-09-29 11:57:25 +02:00
Tristan B. Kildaire
02a29b5293
Made reservedTags queue thread safe
2020-09-29 08:47:04 +02:00
Tristan B. Kildaire
90835f3c97
Don't go further if the receive failed
2020-09-28 20:43:46 +02:00
Tristan B. Kildaire
b0b7f69778
re-ordered, send after enqueue, a slight conc bug would appear whereby the thread switch to watcher occurs after send (suppose) and then it locks list mjtex, seees no request, says it is an error, this ensures it is a request then sends it so when thread switch to watcher occurs, it MUST be in the list and therefore a valid request
2020-09-28 19:17:21 +02:00
Tristan B. Kildaire
7c44f04066
Identified possible bug (revert)
2020-09-28 14:55:19 +02:00
Tristan B. Kildaire
0f10ba4c41
Identified possible bug
2020-09-28 14:54:05 +02:00
Tristan B. Kildaire
98cd3e8c1e
Append notifications to queue
2020-09-25 10:16:14 +02:00
Tristan 🅱. Kildaire
db2125782e
Corrected module name
2020-09-24 20:57:40 +02:00
Tristan 🅱. Kildaire
a0bb8fd477
Added notifcation system
2020-09-24 20:51:57 +02:00
Tristan 🅱. Kildaire
47565b5692
WIP: reserved tags/notifcation system
2020-09-24 20:49:59 +02:00
Tristan 🅱. Kildaire
4623cbd304
Added NotificationReply class to represent an incoming notification message
2020-09-24 20:31:15 +02:00
Tristan 🅱. Kildaire
485995bfe3
Added methods to add a reserved tag and check whether a tag is reserved, added queue for notifications and also a list of reserved tags
2020-09-24 20:30:59 +02:00
Tristan 🅱. Kildaire
d46da412b4
Added check for whether something is a reserved tag
2020-09-24 20:30:32 +02:00
Tristan B. Kildaire
2960a8ec57
Implemented stopManager
function which also calls on the now implemented stopWatcher
and stopGC
functions.
2020-06-24 11:14:53 +02:00
Tristan B. Kildaire
65f5667eca
Refactored.
2020-06-24 11:04:36 +02:00
Tristan B. Kildaire
e5eb241502
Added missing right brace to toString string and refectored string generation.
2020-06-23 15:11:31 +02:00
Tristan B. Kildaire
e7c99ebf5e
Implemented toString for Request
2020-06-23 15:06:27 +02:00
Tristan B. Kildaire
c1af63ba89
Throws exception on waiting for an invalid tag
2020-06-23 14:52:43 +02:00
Tristan B. Kildaire
8f19f2ec7f
Skip dead requests.
2020-06-23 14:49:08 +02:00
Tristan B. Kildaire
1cec094633
Don't tarverse array more thna once.
2020-06-23 14:39:34 +02:00
Tristan B. Kildaire
c958370e37
Fixed issue #3
2020-06-23 14:25:08 +02:00
Tristan B. Kildaire
f440727800
Fixed bug whereby the queue mutex would not be unlocked.
2020-06-23 14:22:00 +02:00
Tristan B. Kildaire
0b0ded86ee
Pls
2020-06-23 14:16:55 +02:00
Tristan B. Kildaire
2d994d806a
Pls work
2020-06-23 14:15:45 +02:00
Tristan B. Kildaire
eee5867f5c
WIP: Throw an error though
2020-06-23 13:31:36 +02:00
Tristan B. Kildaire
086c1646b1
Fixed bug whereby requests would never be fulfilled because the fulfillment variable was never set to true.
2020-06-23 12:46:04 +02:00
Tristan B. Kildaire
705b0f8cbe
sendMessage
now uses encoder library for message encoding.
2020-06-23 12:23:56 +02:00
Tristan B. Kildaire
2dcd0f4fff
Encoding library finished
2020-06-23 12:23:10 +02:00
Tristan B. Kildaire
83b863a9d8
Added protocol encoder decoder library
2020-06-23 12:21:19 +02:00
Tristan B. Kildaire
04cc444d32
Fixed bug whereby this shit definately would break.
2020-06-23 12:20:34 +02:00
Tristan B. Kildaire
0a7dda74a0
Adding tests
2020-06-23 12:11:31 +02:00
Tristan B. Kildaire
41dcefeb9f
Updated source path in dub.json
2020-06-23 11:52:36 +02:00
Tristan B. Kildaire
594914d33b
Implemented Request queue garbage collection.
2020-06-23 11:18:41 +02:00
Tristan B. Kildaire
02ca3d9bb5
Added garbage collection to the queue.
2020-06-23 11:09:44 +02:00
Tristan B. Kildaire
bef0c0f740
Cleaned up comment.
2020-06-23 09:18:20 +02:00
Tristan B. Kildaire
818b12f111
Removed unused function.
2020-06-23 09:16:40 +02:00
Tristan B. Kildaire
b75b11e2b0
Finalised
2020-06-23 01:07:17 +02:00
Tristan B. Kildaire
6e2a92a59b
Added all code needed to get it working.
2020-06-23 00:33:01 +02:00
Tristan B. Kildaire
71879638c6
Fixed all compilation issues.
2020-06-22 22:37:45 +02:00
Tristan B. Kildaire
e46f7d80fd
Fixed variable name.
2020-06-22 22:36:58 +02:00
Tristan B. Kildaire
581b6bd5ee
Construct tristanable pakcet.
2020-06-22 22:36:43 +02:00
Tristan B. Kildaire
cbadba2f1e
Save socket.
2020-06-22 22:25:58 +02:00
Tristan B. Kildaire
86e7a9c11f
Send generated message over socket to endpoint.
2020-06-22 22:25:32 +02:00
Tristan B. Kildaire
63119aab91
Added new depepdancy.
2020-06-22 22:23:33 +02:00
Tristan B. Kildaire
47e9059a66
WIP: sendMessage(ulong, byte[])
2020-06-22 22:21:33 +02:00
Tristan B. Kildaire
783070f828
Added some stub functions.
2020-06-22 20:48:09 +02:00
Tristan B. Kildaire
05718602b3
Added event loop.
2020-06-22 20:16:39 +02:00
Tristan B. Kildaire
647b86f3c2
Added constructors to types Manager
and Watcher
2020-06-21 17:36:43 +02:00
Tristan B. Kildaire
23c4e85134
Added module structure and stub modules.
2020-06-21 17:27:20 +02:00
Tristan B. Kildaire
1166a44c28
Initialized dub
2020-06-21 17:24:48 +02:00