1
0
mirror of https://github.com/deavmi/birchwood synced 2024-09-20 17:43:21 +02:00
Commit Graph

290 Commits

Author SHA1 Message Date
3c97e9db9d Sender
- Calling `sq(ubyte[])` now will wake up the condition variable
2023-10-23 22:14:05 +02:00
c25c28c256 Sender
- Calling `sq(ubyte[])` now will wake up the condition variable

Receiver

- Calling `rq(ubyte[])` now will wake up the condition variable
- Updated `recvHandlerFunc()` to use the condition variable
- Callind `end()` will wakeup the sleeping thread
2023-10-23 22:13:52 +02:00
ea2b07045a Client
- Removed import of `SnoozeError` from `libsnooze.exceptions`
2023-10-22 20:52:29 +02:00
721b490877 Merge branch 'master' into hotfix/migrate_libsnooze 2023-10-01 20:59:27 +02:00
6cb06b3e19 Client (unit tests)
- Use rany's node
2023-10-01 17:35:10 +02:00
38ef18ea6b Sender
- Removed libsnooze imports
2023-10-01 17:33:43 +02:00
a8eceb13a0 Receiver
- Removed libsnooze imports
2023-10-01 17:33:31 +02:00
84adc020f3 Unit tests (client)
- Use 1 second fakelag when doing unit tests else my server kicks me (results in error I still need to handle)
2023-07-06 19:41:35 +02:00
0d38a8439d ConnInfo
- Set the default send fake lag to 0 seconds (i.e. no send lag)
2023-07-06 19:38:07 +02:00
f2b0c34842 Unit tests (messages)
- Fixed unit test for `ChecksMode.HARDCORE` (typo fix)
2023-07-06 19:30:14 +02:00
9849fd834b Unit tests (messages)
- Fixed unit test for `ChecksMode.HARDCORE`
2023-07-06 19:28:10 +02:00
81c6cc7010 Unoit tests (messages)
- Test the `ChecksMode.HARDCORE` and `ChecksMode.EASY` integration of `Message`'s `encode(ChecksMode)` function
2023-07-06 19:25:28 +02:00
4b1c827065 Unit tests (messages)
-  Added description to unit test which tests the detection of illegal characters
2023-07-06 19:12:13 +02:00
95505af624 Unit tests (messages)
- Added a unit test which tests if a message containing bad characters, once stripped, is then valid.
- Essentially, tests the stripper.
2023-07-06 19:11:37 +02:00
0e6c5fb013 Client
- Cleaned up and removed now-completed TODOs
2023-07-03 16:42:26 +02:00
499e53d19d Client
- Implemented `ref-string`-based `textpass(ref string)` which can validate and strip at the same time
- Replaced all calls to `isValidText(string)` with `textPass(ref string)`
2023-07-03 16:37:49 +02:00
2a09edd578 Messages
- Made `hasIllegalCharacters(string)` and `stripIllegalCharacters(string)` public
2023-07-03 16:37:08 +02:00
b6a0ae63b6 Merge branch 'master' into bugfix/stripper 2023-07-03 16:22:41 +02:00
897105a101 Client
- Added some future TODOs
2023-06-30 12:36:32 +02:00
564601afe7 Client
- Now `doThreadCleanup()` will set the `receiver`, `sender` and `engine` to null such that no referenecs to it remain such that they can be gc'd
2023-06-30 12:33:51 +02:00
855925c231 Client
- Documented a methodClient

- Added some TODOs which need to be done
- When checking for active session use `running == false` not `socket is null` which is not set back to `null` when disconnected after one session

Unit tests
2023-06-30 12:29:34 +02:00
a782bc9317 Client
- Added some TODOs which need to be done
- When checking for active session use `running == false` not `socket is null` which is not set back to `null` when disconnected after one session

Unit tests
2023-06-30 12:27:46 +02:00
063701fc94 Client
- Don't construct a new `Receiver` and `Sender` on construction, rather only do so when `connect()` is called
2023-06-30 12:13:05 +02:00
d3df5c015f Client
- Made `engine` private and now accessible via a package-accessible getter method, `getEngine()`

Receiver

- Use `getEngine()` instead
2023-06-29 21:24:19 +02:00
f84b019416 Client
- Make `running` private and only read-accessile via `isRunning()` method which is available at the package level
- Added todo for `engine` field

Receiver

- Use `isRunning()` now

Sender

- Use `isRunning()` now
2023-06-29 21:22:46 +02:00
7cfed69036 Receiver
- Dispose the `Event` after call to `join()`

Sender

- Dispose the `Event` after call to `join()`
2023-06-29 18:35:42 +02:00
3957587363 Merge branch 'master' into bugfix/shutdown 2023-06-28 23:53:55 +02:00
2619577cad Merge branch 'master' into bugfix/stripper 2023-06-28 23:53:34 +02:00
f20c078fc3 Client
- `user(string, string, string, string)` now checks for illegal characters
2023-06-28 23:53:08 +02:00
d2b4ccfeda Client
- Pass in custom error messages for clarity
2023-06-28 23:42:39 +02:00
f85fcde112 Client
- Cleaned up imports
2023-06-28 23:12:19 +02:00
24f548820a Client
- Removed option no longer being considered
2023-06-28 23:09:21 +02:00
725672dfa7 Merge branch 'master' into bugfix/shutdown 2023-06-28 08:34:06 +02:00
4fbe10adca Merge branch 'master' into bugfix/stripper 2023-06-28 08:33:41 +02:00
3aa14492e2 Client
- Removed now-completed TODOs
2023-06-28 08:32:44 +02:00
84785529df Client
- `leaveChannel(string)` now ensures that only valid characters are present in the provided channel's name, else throws a `BirchwoodException`
2023-06-28 08:31:41 +02:00
830a609dad Receiver
- Added a TODO (for disposal)

Sender

- Added a TODO (for disposal)

Client

- Removed unused method `closedConnectiondHandler()`
2023-06-27 20:09:35 +02:00
2305c19623 Client
- Added an overridable `onConnectionClosed()` that is called when the connection is closed by either us or the remote host
- Added `closedConnectionHandler()` (gonna get rid of soon)
- Calling `disconnect()` will now RATHER shutdown the socket than close it, it no longer performs any other sub-systems clean up
- Implemented `doThreadCleanup()` which stops the receive and send managers, stops the eventy engine too
- At every `read()` we do in the reader loop, check if the return value is `<0` or `==0` in which case set the running state to false and exit the loop
- The exiting of the reader loop will now shutdown the socket (in case remote host caused it and not us (via `disconnect()` for example) ), `close()` the socket and call `doThreadCleanup()`
2023-06-27 20:08:16 +02:00
b4338aa3ed Receiver
- Calling `end()` will now wait for the receiver's thread to stop

Sender

- Calling `end()` will now wait for the sender's thread to stop
2023-06-27 19:54:02 +02:00
395c881f84 Merge branch 'master' into bugfix/shutdown 2023-06-26 20:31:08 +02:00
466337ec75 Merge branch 'master' into bugfix/improve_snoosy 2023-06-25 17:37:08 +02:00
9b81573eb7 Client
- Added or improved `Throws` documentation on many methods
2023-06-25 17:36:46 +02:00
b79a3ad8ee Client
- Now catches `SnoozeError` if a the libsnooze `Event`'s failed to have their `ensure()` call succeed

ErrorType

- Updated description for enum member `INTERNAL_FAILURE`

Sender

- Removed now-completed TODO

Receiver

- Removed now-completed TODO
2023-06-25 17:30:53 +02:00
fe9bf31ad5 Client
- Removed now-completed comments and commented-out-code
2023-06-25 17:13:45 +02:00
ed39b950c3 Merge branch 'master' into bugfix/improve_snoosy 2023-06-25 17:13:00 +02:00
42f63b9e0e Client
- We now catch `EventyException` when calling `initEvents()` from within `connect()` and throw a `BirchwoodException`
2023-06-25 17:12:24 +02:00
9d0a2bc3ce Client
- Documented that `initEvents()` may throw an `EventyException`

ErrorType

- Added new member `INTERNAL_FAILURE` which could occur from errors with `Eventy` when setting up the signal handlers and event types
2023-06-25 17:11:59 +02:00
46e8518b6b Merge branch 'master' into bugfix/improve_snoosy 2023-06-25 17:06:15 +02:00
5488e7902c Receiver
- Removed irrelevant TODO

Sender

- Removed irrelevant TODO
2023-06-25 17:05:36 +02:00
125bb613a7 Receiver
- Removed `hasEnsured` (commented-out already)
- Call `ensure(this)` in constructor
- Removed TODOs relating to ensurance

Sender

- Removed `hasEnsured` (commented-out already)
- Call `ensure(this)` in constructor
- Removed TODOs relating to ensurance
2023-06-25 17:01:52 +02:00