Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: optimisations (#16) #1

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

feat: optimisations (#16) #1

wants to merge 1 commit into from

Conversation

CalinR
Copy link
Owner

@CalinR CalinR commented Jan 25, 2024

  • remove redundant Task usages on separated threads

  • FfiRequestsPool

  • IFFIClient interface

  • disposable FFIClient

  • FFIClient initialize simplify

  • PoolableFFIClient

  • NativeMethods pass pointer

  • response pooling

  • tests for reject manual creation of protocol objects

  • FfiResponseWrap, remove manual new Request calls

  • remove IPoolableFFIClient

  • FFIBridge introduction, remove closures, RAII with FfiResponseWrap and FfiRequestWrap

  • Clear -> generic ClearMessage (+16 squashed commits) Squashed commits:
    [768fb01] Multithread refactor (Error on the 2nd time sharing screen livekit/client-sdk-unity#13)

  • disconnect support

  • Fix name

  • To handle better connection and disconnection from room

  • change to avoid using of Coroutines, using async methods instead

  • async OnAudioRead

  • Cleaning logs

  • Cancel tokens

  • Cancel token

  • remove Task.Run, since usually SendRequest is called from other task

  • getting rid of use YieldInstruction

  • adding audio filter in main thread

  • passing CancellationToken instead of CancellationTokenSource

  • added check for cancellation at beginning

  • Cleaning handles

  • fix await

  • remove cruft

  • Cancellation token cleanup

  • Factory async method

  • basic handling of remaining events

  • more async

  • wip

  • Compile pass

  • formatting

  • fix pending check

  • revert async changes

  • prep audio filter for threads

  • loggin

  • logs to debug publishing track

  • minor cleanup

  • added some methods to handle localtrack and SetSubscribed, Clenaing code

  • Cleaning up

  • fixes for yield instructions

  • macro for verbose logs

  • Audio data and pointer fix

Still says samplerate and num of channels are incorrect

  • remove possibility of null

  • todo ref buffering

  • minor cleanup

  • cruft

  • todo object pooling

  • remove redundant Task usages on separated threads


Co-authored-by: cdga777 [email protected]
Co-authored-by: nickkhalow [email protected]
[a400ec9] enable nullables
[a5a63c4] minor cleanup
[892407a] to prevent null reference
[511ef58] Hack for now

Room Ids are different
[6456edc] Test sending data
[eca1cb5] new initialize call
[830ebd1] modification trying to fix compiler errors [496618c] Added metas.
[2cf59c3] Updated FFIClient with the correct FfiRequest class name based on updated proto file generated classes. [c8e3906] updated protobuf messages to latest to be able to publish data. [bb762d2] Updated dll
[80d3dcd] Fixed the last error regarding the leak fix [7320b31] Fixed a compile error on the distructor
[561282f] Fixed a memory leak
[db871de] Fixed building issue.

* remove redundant Task usages on separated threads

* FfiRequestsPool

* IFFIClient interface

* disposable FFIClient

* FFIClient initialize simplify

* PoolableFFIClient

* NativeMethods pass pointer

* response pooling

* tests for reject manual creation of protocol objects

* FfiResponseWrap, remove manual new Request calls

* remove IPoolableFFIClient

* FFIBridge introduction, remove closures, RAII with FfiResponseWrap and FfiRequestWrap

* Clear -> generic ClearMessage (+16 squashed commits)
Squashed commits:
[768fb01] Multithread refactor (livekit#13)

* disconnect support

* Fix name

* To handle better connection and disconnection from room

* change to avoid using of Coroutines, using async methods instead

* async OnAudioRead

* Cleaning logs

* Cancel tokens

* Cancel token

* remove Task.Run, since usually SendRequest is called from other task

* getting rid of use YieldInstruction

* adding audio filter in main thread

* passing CancellationToken instead of CancellationTokenSource

* added check for cancellation at beginning

* Cleaning handles

* fix await

* remove cruft

* Cancellation token cleanup

* Factory async method

* basic handling of remaining events

* more async

* wip

* Compile pass

* formatting

* fix pending check

* revert async changes

* prep audio filter for threads

* loggin

* logs to debug publishing track

* minor cleanup

* added some methods to handle localtrack and SetSubscribed, Clenaing code

* Cleaning up

* fixes for yield instructions

* macro for verbose logs

* Audio data and pointer fix

Still says samplerate and num of channels are incorrect

* remove possibility of null

* todo ref buffering

* minor cleanup

* cruft

* todo object pooling

* remove redundant Task usages on separated threads

---------

Co-authored-by: cdga777 <[email protected]>
Co-authored-by: nickkhalow <[email protected]>
[a400ec9] enable nullables
[a5a63c4] minor cleanup
[892407a] to prevent null reference
[511ef58] Hack for now

Room Ids are different
[6456edc] Test sending data
[eca1cb5] new initialize call
[830ebd1] modification trying to fix compiler errors
[496618c] Added metas.
[2cf59c3] Updated FFIClient with the correct FfiRequest class name based on updated proto file generated classes.
[c8e3906] updated protobuf messages to latest to be able to publish data.
[bb762d2] Updated dll
[80d3dcd] Fixed the last error regarding the leak fix
[7320b31] Fixed a compile error on the distructor
[561282f] Fixed a memory leak
[db871de] Fixed building issue.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants