awnumar/memguard

Are the memguard/memcall and memguard/core public or internal packages?

nsajko opened this issue · 3 comments

It should be clarified in their documentation if they are supposed to be public or internal to github.com/awnumar/memguard.

Also, it may be a good idea to just incorporate both of those packages into github.com/awnumar/memguard and get rid of them. That would simplify stuff for both you, the users (because of less worrying about API surfaces, which packages users need to use), and the compilers (because they really do not do much optimization across package boundaries).

  1. core is an internal package for memguard. It provides raw building blocks for building more complex systems and may be imported and used by developers who want more control as it is less opinionated.
  2. memcall has been moved to its own package: https://github.com/awnumar/memcall

Most users can safely ignore any sub-packages. The one exception I can think of is #100, but I am considering increasing the interval somewhat to eliminate this need also.

You could also create a helper function that sets the enclave refresh interval from the main package, that could also work

@capnspacehook That is true and I considered it but it would also require teaching users about a low-level construct that is invisible to them when using the front-end API.