Comments (3)
A new connectivity module has been implemented.
The old module had Neurons and CompoundNeurons (a.k.a. Pathways). These classes contained their own graphing (extend, expand) logic as well as evaluation logic (GetWithHealing).
In the new module, we now talk about Dependencies (instead of Neurons), and a CommsDependencyEvaluator, which separates the concern of dependency specification from the implementation details of the evaluation of these dependencies.
The new design is summarised as follows:
- Instead of establishing a graph of dependencies at runtime, a dependency graph is modelled declaratively in Dependencies.yaml. Code-gen transforms this into a collection of Dependency Objects. E.g.
- The notion of Pathway length is replaced with a Dependency Chain. (E.g. DataHolderBrands depends on [DataRecipientJwks,RegisterOidc,DataRecipientStatus,RegisterAccessCredentials,] This chain is short (no Passthru Neurons), and explicit in each Dependency.
- The healing process works by evaluating the dependency graph with the full chain of dependencies having caches enabled. This is passed to an optional validator. If the validation fails, then there are up to 3 retries of this process (configurable by MAXIMUM_HEALING_ITERATIONS). On each retry, a further 3rd of the caches are demoted (deactivated for the next evaluation run).
- A cached dependency can have a minAge and a maxAge, and a validator. If the value from the cache is not valid, the dependency is always re-evaluated. If it is older than maxAge, it is always re-evaluated. If the value in the cache is younger than minAge, the cache is always honoured and the dependency is not re-evaluated (even during healing).
As a result of this design, the maximum response time in the worst case that an error is unrecoverable remains short. Additionally we are able to prevent abuse of other ecosystem participants by the use of minAge and the known configurable retry limit.
from adr-gateway.
This will be released as a version 1.1 in the coming days.
from adr-gateway.
Solved with 5771aa9
from adr-gateway.
Related Issues (20)
- Add support for Get Transaction Detail HOT 1
- Response code for requesting data for expired consent should be 422, not 500 HOT 1
- Add client_id, response_type and scope form parameters to PAR request
- Factor in DSB's updated error handling specs
- UpdateRegistration fails for second software product HOT 2
- Error on Fresh Docker Build HOT 5
- Use of DR brand GUID for register authentication is deprecated. Need to use product GUID instead. HOT 1
- Host a running instance of Dr G with a SwaggerUI as a sandbox
- Housekeeper overwrites DH client ID after explicit dynamic client registration HOT 2
- Test data for transaction list - negative amounts HOT 1
- Add details to invalid interaction id exception
- Implement Get Account Detail V2
- Implement Get Customer Detail V2
- Implement energy endpoints from 1.15.0
- Ensure the x-fapi-auth-date header is used for all authenticated endpoints
- Implement the GetDataHoldersStatus endpoint
- Review paths to accommodate variable industry types
- Review changes resulting from the FAPI 1.0 Advanced adoption
- Incorporate the "cdr-register:read" authorisation scope
- Adjust revocation endpoint audience validation as per the interoperability statement in 1.15.0. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from adr-gateway.