Commit Graph

142 Commits

Author SHA1 Message Date
Tristan B. Velloza Kildaire c85a6a1fca Connection
- Print out the message we are handling in `handle()`

Daemon

- Added some testing, but broken, config reading code
- Enabled debugging in the logger

Stream

- Added a `STREAM`-based listener which produces `SockStream`-based `Connection` objects
2023-05-01 16:11:28 +02:00
Tristan B. Velloza Kildaire f1fe8dd2c4 Package (`listeners`)
- Added `exceptions` to the package as a public import

Exceptions

- Added `ListenerException` exception type
2023-05-01 13:28:43 +02:00
Tristan B. Velloza Kildaire df29b91ffa Listener
- Made `server` field `protected` such that sub-classes can access it
- Added two new abstract methods, `startListener()` for starting the listener and `stopListener()` for stopping it
2023-05-01 13:25:50 +02:00
Tristan B. Velloza Kildaire 257946c81c - Added dependency `lumars` 2023-04-30 22:49:46 +02:00
Tristan B. Velloza Kildaire 80e678c651 Connection
- INitialize the tristanablwe `Manager` with a default `Queue` to receive all messages into, then pass it to a `handle(TaggedMessage)` method which will process it
2023-04-30 22:04:06 +02:00
Tristan B. Velloza Kildaire e417e5ab1a Connection
- Upon thread start of the `Connection` thread also start the tristanable `Manager`
2023-04-30 20:58:51 +02:00
Tristan B. Velloza Kildaire 27d53b9878 Daemon
- Log on startup

Connection

- Added an instance of tristanable's `Manager` than gets created upon `Connection` construction
2023-04-30 20:57:57 +02:00
Tristan B. Velloza Kildaire be3d2e64f7 - Upgraded `gogga` to `2.1.18` 2023-04-30 20:55:20 +02:00
Tristan B. Velloza Kildaire c38bcf34d4 Connection
- Documented some fields
- Added some TODOs
2023-04-30 20:03:27 +02:00
Tristan B. Velloza Kildaire 262c01a0a8 - Updated package description 2023-04-30 19:51:48 +02:00
Tristan B. Velloza Kildaire 5819d459aa LinkManager
- Added new type which will represent server links, potential AND active
2023-04-30 19:50:36 +02:00
Tristan B. Velloza Kildaire c24c514cdc - Upgraded to `tristanable` `3.1.9-beta` 2023-04-30 19:49:35 +02:00
Tristan B. Velloza Kildaire 317e3a144e - Added `tristanable` as a dependency 2023-04-30 19:26:21 +02:00
Tristan B. Velloza Kildaire a296017b62 Connection
- Migrated the client connection handler's underlying transport from `Socket` to a river-based `Stream`
2023-04-30 17:28:56 +02:00
Tristan B. Velloza Kildaire 0166844943 - Added `river` as dependency 2023-04-30 17:26:43 +02:00
Tristan B. Velloza Kildaire 3b9a99001a - Removed `botan` dependency 2023-04-30 17:25:49 +02:00
Tristan B. Velloza Kildaire d94834a121 Server
- Fixed bug in `addListener(Listener)` whereby the `scope`'d code would never run on exception unwinding as it never appeared before such a `throw` clause
2023-03-27 23:26:35 +02:00
Tristan B. Velloza Kildaire 2a674dbae7 - Added `botan` version `1.13.4` as dependency 2023-03-26 12:36:16 +02:00
Tristan B. Velloza Kildaire 0bed642578 Connection
- Added TODO for `newConnection(Server, Socket)`
2023-03-26 12:05:48 +02:00
Tristan B. Velloza Kildaire 3107f0a400 Connection
- The `Connection` type is now a kind-of `Thread`
- Added field `associatedServer` of type `Server` such that a connection can be associated with a given server
- Added field `clientSocket` such that a connection can associate the socket with itself
- Constructor sets the two above fields and calls the `Thread` super constructor passing in a function pointer to the worker function (currently a while loop)
- Implemented `Connection newConnection(Server, Socket)` which produces a new `Connection`, then calls `Server.addConnection()` and finally starts the `Connection`'s thread via `start()`, then returns the Connection
2023-03-26 12:04:32 +02:00
Tristan B. Velloza Kildaire 22ff8b636a Listener
- Documented module
- Documented type `Listener`
- Added a TODO
2023-03-26 11:58:05 +02:00
Tristan B. Velloza Kildaire a3a37a124b - Explicitly state the `mainSourceFile` as `source/renaissance/daemon.d.` 2023-03-26 11:53:05 +02:00
Tristan B. Velloza Kildaire 3baa19f449 Server
- Removed any reference to the old `ConsumerInterface` interface
2023-03-26 11:47:33 +02:00
Tristan B. Velloza Kildaire 5cdc56a1ca Merge branch 'master' of github.com:renaissanceorg/renaissance 2023-03-26 11:47:00 +02:00
Tristan B. Velloza Kildaire 234e4e0c14 Listener/ConsumerInterface- Upgraded `davinci` from `0.0.1` to `0.0.2` 2023-03-26 11:45:50 +02:00
Tristan B. Velloza Kildaire ec3ebc8ecb - Upgraded `davinci` from `0.0.1` to `0.0.2` 2023-03-26 11:43:59 +02:00
Tristan B. Velloza Kildaire ab8980af77
Update README.md 2023-03-26 11:42:40 +02:00
Tristan B. Velloza Kildaire 8f4f572cbc
Create d.yml 2023-03-26 11:41:59 +02:00
Tristan B. Velloza Kildaire 2d32c1c285 - Added `davinci` as a dependency 2023-03-25 18:37:43 +02:00
Tristan B. Velloza Kildaire 818b3a6e23 Server
- Added a queue of `Listener`(s) and a corresponding lock
- Added a queue of `Connection`(s) and a corresponding lock
- Initialize all queue locks in the constructor
- Added `addListener(Listener)` for adding a new listener; will throw an exception if already added
- `Server` now implements `ConnectionConsumer` and implements an `addConnection(Connection)` method which consumes the provided `Connection` and adds it to the connection queue
2023-03-25 16:48:08 +02:00
Tristan B. Velloza Kildaire 6961e0960f Errors
- Added new module `errors`
- Added new type `ErrorType` with enum member `LISTENER_ALREADY_ADDED`

Exceptions (package)

- Publically import `errors` (only `ErrorType`) and `RenaissanceException` from `types`

Types

- Added `RenaissanceException` type as the base exception class for the server code
2023-03-25 16:29:22 +02:00
Tristan B. Velloza Kildaire 00b683a558 ConnectionConsumer
- Added new type which represents any class that can "consume" (or add) a new `Connection` object

Listener

- Updated to now use the `ConnectionConsumer` interface type rather than `Server` directly

Listener (package)

- The package now imports (publically) `consumer` and `listener` modules
2023-03-25 16:27:52 +02:00
Tristan B. Velloza Kildaire 513bf38a82 Connection
- Added type `Connection`

Connection (package)

- Added package `renaissance.connection` which publically imports `renaissance.connection.connection`'s `Connection` type
2023-03-25 16:26:30 +02:00
Tristan B. Velloza Kildaire 1a3d6265d3 Dub
- Explicitly make the `targetType` an `executable`
2023-03-25 15:40:45 +02:00
Tristan B. Velloza Kildaire 0ac4392a25 Package (server)
- Added package `renaissance.server`
2023-03-25 15:37:25 +02:00
Tristan B. Velloza Kildaire 6151e5b477 Listener
- Added type `Listener` which takes in an instance of `Server` to associate with
2023-03-25 15:37:05 +02:00
Tristan B. Velloza Kildaire 21f170a999 Server
- Added type `Server` which represents an instance of the daemon
2023-03-25 15:37:01 +02:00
Tristan B. Velloza Kildaire e708c20e81 - Renamed module `app` to `daemon` 2023-03-25 15:36:10 +02:00
Tristan B. Velloza Kildaire fba3486763 Branding
- Addex exported single logo as `branding/logo_single.png`

Documentation

- Added a README with the logo, title and tagline

App

- Restructured into a module name `renaissance`
2023-03-01 00:02:13 +02:00
Tristan B. Velloza Kildaire f065ab9006 - Added branding 2023-02-28 23:56:40 +02:00
Tristan B. Velloza Kildaire 91a5b93771 - Updated .gitignore 2023-02-28 23:56:33 +02:00
Tristan B. Velloza Kildaire 7e892b1c83 - Initial commit 2023-02-28 23:56:21 +02:00