Interface SourceFuncsPrepareFunc

All Superinterfaces:
FunctionPointer
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface @Generated("org.javagi.JavaGI") public interface SourceFuncsPrepareFunc extends FunctionPointer

Functional interface declaration of the SourceFuncsPrepareFunc callback.

See Also:
  • Method Details

    • run

      boolean run(Source source, @Nullable Out<Integer> timeout)

      Checks the source for readiness.

      Called before all the file descriptors are polled. If the source can determine that it is ready here (without waiting for the results of the poll call) it should return true. It can also return a timeout value which should be the maximum timeout (in milliseconds) which should be passed to the poll call. The actual timeout used will be -1 if all sources returned -1, or it will be the minimum of all the timeout values returned which were greater than or equal to 0. If the prepare function returns a timeout and the source also has a ready time set, then the lower of the two will be used.

      Since 2.36 this may be NULL, in which case the effect is as if the function always returns FALSE with a timeout of -1.

      Parameters:
      source - The GSource
      timeout - the maximum timeout (in milliseconds) which should be passed to the poll call
      Returns:
      true if the source is ready, false otherwise
      Since:
      2.82
    • upcall

      default int upcall(MemorySegment source, MemorySegment timeout)
      The upcall method is called from native code. The parameters are marshaled and run(Source, Out) is executed.
    • toCallback

      default MemorySegment toCallback(Arena arena)
      Creates a native function pointer to the upcall(MemorySegment, MemorySegment) method.
      Specified by:
      toCallback in interface FunctionPointer
      Parameters:
      arena - the arena in which the function pointer is allocated
      Returns:
      the native function pointer