instrumentisto / medea

[Closed] Medea media server
Mozilla Public License 2.0
23 stars 3 forks source link

Migrate events handling to reactivity in 'medea-jason' crate (#27, #47) #164

Closed evdokimovs closed 3 years ago

evdokimovs commented 3 years ago

Part of #27, #47

Synopsis

We need to handle server Event in medea-jason reactively and based on State. Thus, we will be able to synchronize client with server on reconnect by merging server's state with a client's one.

Solution

Create states for the all objects which are can be updated by the server's Event. Rewrite all Event handlers to update reactive State instead of real objects.

Checklist

evdokimovs commented 3 years ago

FCM

Migrate events handling to reactivity in 'medea-jason' crate (#164, #27, #47)

- add Component and State for Sender, Receiver, Peer and PeerRepository
- rewrite EventHandler implementation to update Component's States instead of real objects

Additionally:
- upgrade Firefox to 84.0.2 version for E2E tests
- fix 'opt-level' being ignored when compiling 'medea-jason' crate in Cargo manifest
- globally set 'codegen-units = 1' in Cargo manifest