Commit Graph

56 Commits (sock-buffering)
 

Author SHA1 Message Date
Avril c3f678a81e
I FUCKING AM SO CLOSE TO GIVING UP.
3 years ago
Avril d82c46b12d
FUCKING FAILURE: For FUCKs sake. NO MATTER HOW MUCH STATE I ADD TO THE DAMN THING, IT STILL FAILS TO READ PROPERLY AT SOME ARBITRARY POINT IN THE BUFFER.
3 years ago
Avril ed69a8f187
Failure: Keeping buffer read/size state between pendings STILL doesn"t work...
3 years ago
Avril 019bdee5c1
Failure: Converted `read_test` to a poll-based function, it still loses state required to maintain the buffer location. There"s no way to make this code keep the state. We need to re-design the function to something completely different.
3 years ago
Avril fc2b10a306
Found bug. poll_read needs rewrite. Dunno how to write it tho.
3 years ago
Avril 5d5748b5ea
Found bug! It is **NOT** safe to pin and poll a stack future in a `poll*` Future method.
3 years ago
Avril 7cad244c16
FUCK THIS BULLSHIT. I LITERALLY JUST WANT A BUFFERED STREAM. WHY IS THERE NO LIBRARY FOR THIS, WHY IS THIS NOT THERE BY DEFAULT. FUCK EVERYTHING. I HATE THIS STUPID BOILERPLATE
3 years ago
Avril 56306fae83
Possible source of bug is polling a local stack future in poll_read method. Fucks sake.
3 years ago
Avril c96d098441
Buffered reader doesn"t work,no fucking clue why?
3 years ago
Avril 9d927c548a TODO: impl `AsyncRead` for `Buffered<impl AsyncRead, SIZE>`
3 years ago
Avril a6a25259b8
Buffered: Fix buffer not being cleared on flush. Added internal info messages when `cfg!(test)` is enabled.
3 years ago
Avril 818659b83c
Buffered writer seems to work.
3 years ago
Avril 19d1db35d6 Naive, basic impl of `AsyncWrite` for `Buffered<T,SIZE>` (untested, probably incorrect poll impls).
3 years ago
Avril 90c9fce20c
FIrst attempt at buffering stream... Doesn"t seem to be working well...
3 years ago
Avril 6f8d367080
Documented currently non-functioning `Buffered<T>` fields
3 years ago
Avril 69d546d2d1
Started `Buffered<T, const SIZE: usize>`: Static buffering stream wrapper for `ESock` syncing.
3 years ago
Avril f8b6e3a0c6
This bug may make ESock **unusable** in this project entirely. Individual `SerializedMessage` sending/receiving _might_ work reliably since that is based on rigid size communication, but streamed data may be untenable. Any desync in streaming buffers causes complete failure.
3 years ago
Avril 2a3d9e0c3a
For some reaosn, any difference between exact bytes written and read (even if they are identical, just spread over different `write` calls) causes the reading half to produce garbage?
3 years ago
Avril e5fce0a045
XXX: ESock doesn"t work! :/ The first encrypted write/read succeeds, but any subsequent calls to write/read produce garbage...
3 years ago
Avril 20bf0f1649
Removed install of a panic hook in unit test
3 years ago
Avril 2a49d17528
ESock tested: Exchange OK, Session OK, Encrypted + Unencrypted reads + writes OK. All works (so far)! :^)
3 years ago
Avril dc307c6d06
ESock: Added `split()` and `unsplit()`
3 years ago
Avril edeb2ffee7
Added AsyncWrite and AsyncRead impls to `ESock<W,R>`
3 years ago
Avril b6b3bb0fd5
Improved error messages for `set_encrypted_read()` and `exchange()`.
3 years ago
Avril 087a076b40
Added better error messages and context to `ESockSessionKey::from_ciphertext()`
3 years ago
Avril 3991d82f93
Added better error messages and context to `ESockSessionKey::to_ciphertext()`
3 years ago
Avril 3a5331b5f1
Added `bin` module for byte slice concat.
3 years ago
Avril 0f7f22f290 ESock: Added `exchange_unpin()`. Start `Exchange` future for `exchange()` method that will work on non-Unpin types too. (Requires specific implemented future.)
3 years ago
Avril 7f44c83ce3
Added AsyncSource to ESock<W, R>
3 years ago
Avril d349c018c2
Using AsyncSource instead of dump Duplex hack.
3 years ago
Avril 7f8acbba7f
Bumped version of `chacha20stream` to 2.0: Added support for `Read` and `AsyncRead` en/decryption.
3 years ago
Avril 7216f0f8de
Added `ReverseSink<R>`, temporary type for handling reads (chacha20stream currently only has a wrapper type for writes.)
3 years ago
Avril 62f3c384b2
Start `enc` socket wrapper
3 years ago
Avril d271f164fa
Start sock capabilities
3 years ago
Avril 538080a6f1 Added MAX_BODY_SIZE
3 years ago
Avril cf71fe20ab
Set `StackVec` stack size to 2KB (from 4KB).
3 years ago
Avril 37a00d1099
Improved de/serialise error messages
3 years ago
Avril 46cd0e4a9f
from_buffer(): Implemented.
3 years ago
Avril 52d19c730b
Start reworking SerializedMessage -> binary pipeline.
3 years ago
Avril 6afb148068 Added `UntypedSerializedMessage`: A `SerializedMessage` whos original value type has been erased. A `SerializedMessage<V>` can be converted into this with `.into_untyped()`, and can be converted back with the `unsafe` function `into_typed<V>()`.
3 years ago
Avril c286708bff
Start: `UntypedMessageValue` for unsafe casting of `SerializedMessage`s
3 years ago
Avril 7765c33070
Moved `MessageValue` to own file
3 years ago
Avril ab97278dbd
Added `subtrait!` macro for creating a blanket-impl trait that ``inherits" from one or more different traits in a few different ways (normal -> `Sized` types only, `dyn`: Sized and unsized types , `virtual`: Sized and unsized types, downcastable.)
3 years ago
Avril 2308b61b58 Start: Raw socket handling function
3 years ago
Avril d3c43b323b
Added task cancelling module
3 years ago
Avril c98f1c5c6c Added message header accessors.
3 years ago
Avril 2931a3e8cb
Moved message tests to own file.
3 years ago
Avril 674c7a1171
Sign & Encrypt tests working okay
3 years ago
Avril 101ce28602
Encrypt + Sign tests work.
3 years ago
Avril 226901861a
Start adding stack-allocation helper functions. (ext.rs)
3 years ago