Interface ExtentDecommitI

  • All Superinterfaces:
    CallbackI, CallbackI.Z, Pointer
    All Known Implementing Classes:
    ExtentDecommit
    Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    public interface ExtentDecommitI
    extends CallbackI.Z
    Instances of this interface may be set to the ExtentHooks struct.

    Type

    
     bool (*) (
         extent_hooks_t *extent_hooks,
         void *addr,
         size_t size,
         size_t offset,
         size_t length,
         unsigned int arena_ind
     )
    • Method Detail

      • getSignature

        default java.lang.String getSignature()
        Description copied from interface: CallbackI
        Returns the dyncall signature for this callback function. [INTERNAL API]
        Specified by:
        getSignature in interface CallbackI
        Returns:
        the dyncall signature
      • callback

        default boolean callback​(long args)
        Description copied from interface: CallbackI.Z
        Will be called by native code.
        Specified by:
        callback in interface CallbackI.Z
        Parameters:
        args - pointer to a DCArgs iterator
        Returns:
        the value to store to the result DCValue
      • invoke

        boolean invoke​(long extent_hooks,
                       long addr,
                       long size,
                       long offset,
                       long length,
                       int arena_ind)
        Extent decommit hook.

        An extent decommit function conforms to the extent_decommit_t type and decommits any physical memory that is backing pages within an extent at given addr and size at offset bytes, extending for length on behalf of arena arena_ind, returning false upon success, in which case the pages will be committed via the extent commit function before being reused. If the function returns true, this indicates opt-out from decommit; the memory remains committed and available for future use, in which case it will be automatically retained for later reuse.