Interface ExtentSplitI

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

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


     bool (*) (
         extent_hooks_t *extent_hooks,
         void *addr,
         size_t size,
         size_t size_a,
         size_t size_b,
         bool committed,
         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
        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
        args - pointer to a DCArgs iterator
        the value to store to the result DCValue
      • invoke

        boolean invoke​(long extent_hooks,
                       long addr,
                       long size,
                       long size_a,
                       long size_b,
                       boolean committed,
                       int arena_ind)
        Extent split hook.

        An extent split function conforms to the extent_split_t type and optionally splits an extent at given addr and size into two adjacent extents, the first of size_a bytes, and the second of size_b bytes, operating on committed/decommitted memory as indicated, on behalf of arena arena_ind, returning false upon success. If the function returns true, this indicates that the extent remains unsplit and therefore should continue to be operated on as a whole.