Comments (3)
I noticed that this approach is problematic for the block interface. It defines the Request
type in Gneiss.Block.Client
which depends on the Context
type. Since the requests are often part of the application state the Context
type also depends on the Request
type creating a circular dependency. A solution could be changing the block interface accordingly, that all types containing relevant state should be defined in the session package and not inside its children. I would omit the block session for now since we do not have it on Linux and therefore cannot prove it.
from gneiss.
Server.Finalize
and Server.Initialize
are only called by Dispatcher.Session_Cleanup
and Dispatcher.Session_Initialize
. They also need a context argument.
On Linux currently Finalize
and the server event are both called by the same callback. And both get the Server_Session
as argument. If Finalize
is to be called by Session_Cleanup
which only can be called from within Dispatch
, the event needs to pass both the server and the dispatcher session. To avoid aliasing there should be two events, one for an IO event and one for an error event. The first will call the server event and the latter will call dispatch. Both get their own session parameter. Also both will get the file descriptor that called them passed.
from gneiss.
Fixed by #173.
from gneiss.
Related Issues (20)
- Timer session on Linux HOT 1
- Consolidation HOT 1
- Prove tests HOT 9
- Prove broker HOT 1
- Fix file descriptor leaks
- Allow proving, editing and compiling as different commands in cement HOT 1
- Prove globals HOT 4
- GPIO Debug HOT 1
- Update ada-runtime, rename init to core/linux HOT 1
- Add support for different platforms to cement HOT 1
- Matrix Demo
- ICMP Demo HOT 4
- Update README HOT 1
- Global platform state for volatile inputs
- Update to CE 2020 HOT 5
- Update to RecordFlux 0.4.0 HOT 1
- Stream interface HOT 1
- Run checkers on cement
- SPI driver
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 gneiss.