Commit Graph

49 Commits (newdev)

Author SHA1 Message Date
TildenWinston fbc1f585e2
Removing bad line 2022-09-14 22:45:03 -07:00
TildenWinston 8981042d30
Removing bad line 2022-09-14 22:44:28 -07:00
TildenWinston 4bc084d356
Update MessageInStream.cpp 2022-09-11 14:23:23 -07:00
TildenWinston 20b4ec930e
Update SSLWrapper.cpp 2022-09-11 14:22:51 -07:00
Simon.Dean bd18165181 Reworked Message Handling
- Have adjusted the buffer mechanism so instead of using the buffer to store a message in the event of an interleaved frame, we basically perform all work on the buffer (albeit we take the existing message for the channel id from the buffer for the frame we're working on and write the message to the buffer if the message isn't resolved).
- Moved writing to buffer to receiveFramePayloadHandler() function if the message is BULK or LAST and therefore not resolved.
- Simplified receiveFrameHeaderHandler() so that we automatically try to find a message from the buffer and then createa message as necessary depending on the frame type.
- Excellent stability with no noticeable artefacts in audio after 1 hour.
- Removed majority of debugging after achieving stability.
2022-02-13 21:06:07 +00:00
Simon.Dean f80e72c480 Rework Message Handling.
Slight tweaks
- Add isInterleaved boolean
- If message is NULL and Frame Type is MIDDLE or LAST, then look for an existing message in buffer (if the message_ is null, then we need a FIRST or BULK frame)
- If message is still NULL, then we will create a new message, but recognise it as a valid frame ONLY if this is a FIRST or BULK frame because we cannot start on a MIDDLE or LAST.
- Rename recentFrameType to thisFrameType for more accuracy
- Only Resolve the Frame if the frame is BULK or LAST and the frame is valid.
- If the frame is interleaved, then we will use our interleavedPromise handler. Only resolve the main promise if the frame is not interleaved.
- Also reset message once resolved.
- Carry on reading if the original promise is not resolved (ie FIRST, MIDDLE, or Interleaved frame)
- Add some counters for debugging purposes.
2022-02-11 12:35:07 +00:00
Simon.Dean 5f4220b059 Support FrameType descriptor 2022-02-11 10:33:36 +00:00
Simon.Dean b8bbdf1288 Switch decrypt() to read the number of bytes from the frame size. 2022-02-11 10:29:02 +00:00
Simon.Dean 59d8d70b83 Add SSL Error Logging 2022-02-11 10:19:33 +00:00
Simon.Dean a897fc1a8b Swap getSize() to getFrameSize() and add totalSize() for completeness. 2022-02-11 10:19:12 +00:00
stefan-sherwood 34384025f0
auto connect USB on startup (#17) 2021-05-06 21:16:17 -05:00
Cole Brinsfield 1f561aa711
voice session and ping (#13) 2020-08-28 17:26:03 -05:00
Jason Wenger f9f02815d0 Rearrange directory structure 2020-07-04 09:37:43 -05:00
Jason Wenger f01d90a692 Fixes for newer boost 2020-05-12 21:53:21 -05:00
Robert Stanley Judka d387974e9d fix interleaved channel crashing #2 2020-05-10 06:18:06 -10:00
Cole Brinsfield 5d7b2bf332 Fixes interleaved channel crashing 2020-05-10 06:07:15 -10:00
michal.szwaj 046b3b3815 Enable no delay option 2018-07-17 16:18:01 +02:00
michal.szwaj 894da2e214 Self can be moved 2018-07-17 16:06:56 +02:00
michal.szwaj de146367bb Catch stop indication of video channel 2018-07-13 02:46:50 +02:00
michal.szwaj f32998d871 Fix hanging resources when accessories enumeration is cancelled 2018-04-07 13:28:42 +02:00
michal.szwaj f7f286f0dd Ping message can be unencrypted. 2018-04-06 00:49:04 +02:00
michal.szwaj 64bc6bf137 Handle ping request/response 2018-04-04 20:02:36 +02:00
michal.szwaj 75832bb652 Linearize buffer 2018-03-28 16:50:50 +02:00
michal.szwaj 04ccad61e4 Revert "Use insert to extend circular_buffer"
This reverts commit ae4289f8b5.
2018-03-27 23:53:15 +02:00
michal.szwaj ae4289f8b5 Use insert to extend circular_buffer 2018-03-27 22:46:22 +02:00
michal.szwaj ffb2a52b71 Use specialized erase methods of circular_buffer 2018-03-27 22:29:08 +02:00
michal.szwaj 3c8b87fcf0 Add blocking connect method 2018-03-21 23:49:26 +01:00
michal.szwaj cc4557246d Use socket as a shared_ptr to fulfill boost asio CompletionHandler requirements 2018-03-19 21:30:02 +01:00
michal.szwaj 3d89c82711 Unit tests for ConnectedAccessoriesEnumerator 2018-03-17 10:56:48 +01:00
michal.szwaj dba8ce6b0b Improve thread safety 2018-03-17 01:57:35 +01:00
michal.szwaj 211e7f5072 Map operation aborted error code 2018-03-17 01:41:49 +01:00
michal.szwaj e5caefb53e Implementation of connected device enumerator 2018-03-17 01:17:40 +01:00
michal.szwaj 1fd8a27113 Unit tests for TCPTransport 2018-03-16 19:25:36 +01:00
michal.szwaj a5ed15f158 Unit tests for TCPEndpoint 2018-03-16 18:59:55 +01:00
michal.szwaj d12ef0a4d1 Fix typo 2018-03-15 22:33:57 +01:00
michal.szwaj 953190a8be Fix wrong strand usage 2018-03-15 22:33:06 +01:00
michal.szwaj 2ba44d220e Fix error active state 2018-03-15 18:34:19 +01:00
michal.szwaj 175dfa6b60 Use Transport base class in TCPTransport 2018-03-15 18:28:02 +01:00
michal.szwaj 1c95f086b7 Create base class for transports 2018-03-15 17:59:18 +01:00
michal.szwaj 36833be832 Remove USBDataSink 2018-03-13 17:22:35 +01:00
michal.szwaj b8bcf7cbef USBDataSink renamed to DataSink 2018-03-13 17:20:37 +01:00
michal.szwaj 219d8dd525 Wrap all used socket functions 2018-03-13 17:20:00 +01:00
michal.szwaj e5e72d1eda Implementation of TCPTransport 2018-03-12 17:53:31 +01:00
michal.szwaj bebb4b9f2f Perform socket close even if shutdown failed 2018-03-12 16:48:07 +01:00
michal.szwaj eb98ceadf5 Implement sceleton of TCP interface 2018-03-12 16:43:35 +01:00
duxet 98c26d3328 Fix remaining MacOS build issues 2018-03-12 08:43:31 +01:00
michal.szwaj@o2.pl 59400c6a72 Fix compilation for GCC 7 2018-03-10 13:14:40 +01:00
michal.szwaj bd67b8aadc Make getter for channelId const method 2018-02-12 16:07:44 +01:00
michal.szwaj 9bcecbc977 Initial commit 2018-02-11 20:36:55 +01:00