7 Commits

Author SHA1 Message Date
Pavel
6436cd5684
Update JS SDK API to the new version (#61)
* FluenceClient renamed to FluencePeer.
* Using Aqua compiler is now the recommended way for all interaction with the network, including services registration and sending requests
* Old API (sendParticle etc) has been removed
* Opaque seed format replaced with 32 byte ed25519 private key. KeyPair introduced
* Documentation update
2021-09-08 12:42:30 +03:00
Pavel
054a7bf094
Mass rename (#48)
* Update terminology and namings

* Use renamed to `avm` package
2021-05-18 09:53:12 +03:00
Pavel
9aa077eb4b
Update air (#47)
* Migrate to the new version of air-interpreter package

* Add pipeline with integration tests 

* Fix issues which prevented tests to finish normally
2021-05-12 00:01:44 +03:00
Pavel
8c372cd0c8
Improvements (#44)
* Add more detailed information when the particle is sent to incorrect peers

* Throwing custom error in case of version incompatibility
2021-04-27 17:08:18 +03:00
Pavel Murygin
88d534e4a5 Checking if the particle is sent not to the relay which the client is connected to. If not an error is thrown 2021-03-04 14:51:49 +03:00
Pavel Murygin
89d42476a2 remove processing queue, merge ParticleProcessor logic into fluence client 2021-03-04 14:51:49 +03:00
Pavel
b0ed007399
Particle lifecycle (#21)
Complete rethinking and refactoring of the codebase.

The codebase basically consists these 5 moving parts now: 

1. Fluence client (and the Particle processor which might be merged with the client) - This part is responsible for initiating Request flows, managing existing requests flows (it keeps the queue of received particles), pulling right strings on request flows to update their state etc
2. Fluence connection - This part is responsible for connecting to network, sending\receiving particles
3. RequestFlow - This is where the state of particle execution process is kept. It is basically a state storage with some control levers to update the state. Each request flow contains some particle lifecycle methods and the AquaCallHandler where all callback logic is kept
4. RequestFlowBuilder - This is where requests are prepared by the user (the developer of the client application) before they are ready to be sent into the network.
5. AquaCallHandler - This is how interpreter callbacks are handled. It is very similar to express.js app and is made of middlewares. Aqua handler is the unified api for both callbacks for our Request flows and non-ours (i.e services that are expected to be called be other peers). See `AquaHandler.ts` for details
2021-03-03 22:01:05 +03:00