componolit / gravel Goto Github PK
View Code? Open in Web Editor NEWComponent library for components built with Gneiss
License: GNU Affero General Public License v3.0
Component library for components built with Gneiss
License: GNU Affero General Public License v3.0
Extend the Socat component to also provide a stream interface
When running the block correctness test on Genode I run into a segmentation fault (on base-linux) in the ringbuffer that doesn't use any platform interfaces. After som investigation I noticed that
R.Data := (others => (Block.Id'Last, False, Null_Buffer));
caused the segmentation fault. All inputs come from pure Ada and do not have any platform interaction. Also no C++ runtime or interface code was called in this statement.
Changing this statement to
for I in R.Data'Range loop
R.Data (I).Block_Id := Block.Id'Last;
R.Data (I).Set := False;
R.Data (I).Data := Null_Buffer;
end loop;
solved the issue. I suspect that some compiler generated code is used that either the runtime or the interface library are not configured for. On Linux the same code works without issues. We should check where we might have to enforce static initialization or forbid those statements (at least for larger loops). A pragma Restrictions (No_Implicit_Loops)
might prevent such constructs although some constants might not be able to be initialized anymore.
Implement a block client that measures the good-case throughput of a block server. A test works as follows:
For request type (in read/write):
For all events handling a response or request:
Requests are performed linearly in ascending order.
Update Gravel to Gneiss 0.2. This includes:
libs
to lib
to be consistent with Gneisslib
that are already provided by GneissAs a real world use case for the Gneiss we should build a partition manager for GPT partitions. This is a showcase to see if our interface can cope with real world work loads. It also addresses the issue on how labels should be handled in regard to how a server can route incoming requests.
Requests are split into blocks. For every write request, blocks are put into the cache and written to the backend device. Every read request, is looked up in the cache. For a miss, the block is read from the backend device and put into the cache. For a hit, the request is serviced from the cache.
Cache entries are evicted on a LRU basis.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.