Commit Graph

98 Commits

Author SHA1 Message Date
Tristan B. Velloza Kildaire 62d77adc80 SockStream
- Removed FIXME which was actually an error in how we were testing and NOT `writeFully(byte[])` itself
- Removed completed TODO for `writeFully(byte[])`
2023-05-26 10:18:11 +02:00
Tristan B. Velloza Kildaire b795686d3a SockStream
- Added a TODO regarding not allowing to call `readFully(byte[] toArray)` where `toArray.length == 0` as then we shal throw an exception

Unit tests (`SockStream`)

- Catch exception in `writeFully(byte[])` that can occur when `stream.close()` is called and the connection errors out on the server-side
2023-05-09 17:03:32 +02:00
Tristan B. Velloza Kildaire ce08374ea1 SockStream
- Added note about failing `writeFully(byte[])` as it seems broken
2023-05-09 16:48:55 +02:00
Tristan B. Velloza Kildaire 692c40fee0 FDStream
- Added `getFD()` which returns the underlying file descriptor as an `int`
2023-05-09 16:44:06 +02:00
Tristan B. Velloza Kildaire 939fd5430a Unit tests (`SockStream`)
- Consume the `Socket` produced by `accept()` into a newly created `SockStream` and use that to send bytes over via a call to `writeFully(byte[])`
- We have increased coverage to 81%
2023-05-09 16:09:31 +02:00
Tristan B. Velloza Kildaire da451da76a Unit tests (`SockStream`)
- CLeaned up
- Removed now-invalid FIXME
2023-05-09 16:04:04 +02:00
Tristan B. Velloza Kildaire e10104f881 SockStream
- `writeFully(byte[])` now uses the same mechanism of fully writing found in `FDStream`'s `writeFully(byte[])` method
2023-05-09 16:02:31 +02:00
Tristan B. Velloza Kildaire 7b8003b0e8 - Fixed typo in `README.md` 2023-05-09 09:47:43 +02:00
Tristan B. Velloza Kildaire 49ccd2c34a SockStream
- Removed unused check in `writeFully(byte[])`
2023-05-09 09:40:35 +02:00
Tristan B. Velloza Kildaire 11d1d7c668 SockStream
- Added a TODO regarding `writeFully(byte[)`, we won't actually be able to use `MSG_WAITALL` here. We may need to use different logic
- Removed now-completed TODO from `write(byte[])`
- Removed TODO from `readFully(byte[])` regarding max receive size of array versus what `receive` from `Socket` can do, not gonna care now, removed unused check for this
2023-05-09 09:40:00 +02:00
Tristan B. Velloza Kildaire bfde38c68b - Removed `results` module 2023-05-07 16:34:40 +02:00
Tristan B. Velloza Kildaire 6718a3917c PipeStream
- Disabled the unit test for now as it is still a work-in-progress
2023-05-07 15:33:31 +02:00
Tristan B. Velloza Kildaire 61d2cbf00f Pipe
- Implemented `getReadStream()` which returns an `FDStream` for the read-end of the pipe
- Implemented `getWriteStream()` which returns an `FDStream` for the write-end of the pipe

Unit tests

- Removed duplicated imports
- Work-in-progress `writeFully(byte[])` test
2023-05-07 15:32:47 +02:00
Tristan B. Velloza Kildaire c040981eeb FDStream
- Removed invalid TODO
2023-05-06 14:57:21 +02:00
Tristan B. Velloza Kildaire 1b1ae2bd83 FDStream
- Implemented `writeFully(byte[])` (still needs testing)
2023-05-06 14:55:11 +02:00
Tristan B. Velloza Kildaire 9c4dd4cc51 SockStream
- Added a TODO for `writeFully(byte[])`
2023-04-30 14:13:32 +02:00
Tristan B. Velloza Kildaire 432fbb5406 FDStream
- Updated TODO
2023-04-30 14:12:34 +02:00
Tristan B. Velloza Kildaire c1df1f4b8b - Update package description 2023-04-30 14:07:46 +02:00
Tristan B. Velloza Kildaire 51d8fb812a FileStream
- Documented constructor
2023-04-29 17:02:33 +02:00
Tristan B. Velloza Kildaire 642f00b950 FD
- Documented module

File
- Documented module
2023-04-29 16:59:50 +02:00
Tristan B. Velloza Kildaire 6bca625f2e - New stream type added `FileStream` 2023-04-29 16:54:24 +02:00
Tristan B. Velloza Kildaire 4adb920965 - Added CI badge to README 2023-04-29 16:48:35 +02:00
Tristan B. Velloza Kildaire 249ee9829b
Merge pull request #1 from deavmi/feature/fdstream_rework
Feature: Add FDStream, re-work PipeStream to use two FDStreams
2023-04-29 16:46:26 +02:00
Tristan B. Velloza Kildaire 33211a694b Merge branch 'master' into feature/fdstream_rework 2023-04-29 16:43:50 +02:00
Tristan B. Velloza Kildaire 4e7d306fa8 - Run unit tests 4 times for potential variations 2023-04-29 16:43:17 +02:00
Tristan B. Velloza Kildaire c064cd64af Merge branch 'master' into feature/fdstream_rework 2023-04-29 16:40:44 +02:00
Tristan B. Velloza Kildaire c2f8cef38a
Create d.yml 2023-04-29 16:40:23 +02:00
Tristan B. Velloza Kildaire 0986bf00f0 PipeStream
- Migrated over to using two instances of `FDStream`
- Inherits now from `Stream` directly
2023-04-29 16:37:51 +02:00
Tristan B. Velloza Kildaire 0f2c4f64b8 FDStream
- Made FDStream non-abstract
2023-04-29 16:35:55 +02:00
Tristan B. Velloza Kildaire f87cfb76e5 FDStream
- Corrected error messages for `read` and `readFully`
- Added `write(byte[])` implementation
2023-04-29 16:32:56 +02:00
Tristan B. Velloza Kildaire ec46b26a5f FDStream
- Copied code from `PipeStream` into `FDStream`
- We now have `read(byte[])` and `readFully(byte[])` implemented
2023-04-29 16:31:52 +02:00
Tristan B. Velloza Kildaire c9aa22260f FDStream
- Uses a single file descriptor ONLY now
2023-04-29 16:29:51 +02:00
Tristan B. Velloza Kildaire 5b45883d10 FDStream
- Added TODO note
2023-04-29 16:27:07 +02:00
Tristan B. Velloza Kildaire ecb01deb24 FDStream
- Added a constructor which take sin a single fd and then call the arity 2 constructor with it twice
- Updated documentation for arity 2 constructor; formatting fix
2023-04-29 16:26:07 +02:00
Tristan B. Velloza Kildaire e499915c81 PipeStream
- Removed override for `close()` as `FDStream` can handle it
2023-04-29 16:24:26 +02:00
Tristan B. Velloza Kildaire a3e0bb8f7b PipeStream
- Base our stream off of `FDStream`
2023-04-29 16:23:32 +02:00
Tristan B. Velloza Kildaire 4bb71cd37c File
- Cleaned up commented-out code for now
2023-04-29 16:23:20 +02:00
Tristan B. Velloza Kildaire 7b226c5ab7 FDStream
- Added new base-stream type for streams that are constructed from file descriptors
2023-04-29 16:23:08 +02:00
Tristan B. Velloza Kildaire 2afb34b5c6 - Added documentation to `close()` to API docs
- Added link to the docs for the Stream API
2023-04-29 16:07:36 +02:00
Tristan B. Velloza Kildaire 3e5d63b792 - Added API documentation of `write(byte[])` and `writeFully(byte[])` to documentation 2023-04-29 16:06:14 +02:00
Tristan B. Velloza Kildaire 580ead9e06 - Added link to the `impls` package API 2023-04-29 16:04:46 +02:00
Tristan B. Velloza Kildaire 8bdb607eee - Created an `impls` package 2023-04-29 16:02:23 +02:00
Tristan B. Velloza Kildaire 3763f8f4a0 Revert "PipeStream"
This reverts commit c10b8b1e5a.
2023-04-29 16:00:00 +02:00
Tristan B. Velloza Kildaire c10b8b1e5a PipeStream
- Mark unittest as `public`
2023-04-29 15:57:53 +02:00
Tristan B. Velloza Kildaire c031d43e1f - Updated API links for `SockStream` and `PipeStream` 2023-04-29 15:56:56 +02:00
Tristan B. Velloza Kildaire 35f6d8e09d PipeStream
- Documented the unittest describing it
2023-04-29 15:55:51 +02:00
Tristan B. Velloza Kildaire 345ba0ed66 PipeStream
- Added a call to close the `PipeStream` right at the end of the unit test
2023-04-29 15:53:13 +02:00
Tristan B. Velloza Kildaire 4436b8b6e1 PipeStream
- Implemented rudimentary `close()` which will not throw even if `close()` calls fail
2023-04-29 15:52:10 +02:00
Tristan B. Velloza Kildaire 8e63685586 PipeStream
- Added note that `newPipe()` static factory will return `null` on failure to create a pipe
2023-04-29 15:50:02 +02:00
Tristan B. Velloza Kildaire 573a37795b PipeStream
- Documented `read(byte[])` and `readFully(byte[])`
2023-04-29 15:47:29 +02:00