-
Notifications
You must be signed in to change notification settings - Fork 2
C api
The first implementation environment (and probably the only one made by me) is written in plain old C language. The first thing to do is to make the dust API, through which all the other components will be accessible.
The dust surrounds the running code invisibly, it is like the 'this' pointer in a C++ code: you can see it but you can't change it, and you don't have to pass it in parameters because it is there in all the member functions (although you have to pass it to static or external functions). Dust knows the current context internally, through a thread local pointer to a context information block. You don't get this information through incoming parameters, and you don't have to pass them when calling other functions. Dust knows the current context, and whenever you call a dust API function, it is there.
-
Dust API
Create the dust header with the API calls. -
Memory management
Allocate and release memory blocks. -
Collections
Dynamic growing and shrinking arrays, structures, maps. -
Machine info block
Sizes of the native data; endianness -
Context information
A very limited first version of context management, in order to store the context information for the current call. -
Threading
Thread local pointer to context information to access the context info. Later to be extended to real thread management. -
Instance management
To manage entity instances (this is the first because type management depends on type descriptor entities). -
Type management
Starter type manager -
Binary manager
Jump tables for type message processors -
Channel / call management
The first message to an entity