Interface LoggerPrinter

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 LoggerPrinter extends FunctionPointer

Functional interface declaration of the LoggerPrinter callback.

See Also:
  • Method Details

    • run

      void run(Logger logger, LoggerLogLevel level, byte direction, String data)

      The prototype for a custom printing callback.

      level indicates what kind of information is being printed. Eg, it will be LoggerLogLevel.HEADERS if data is header data.

      direction is either '<', '>', or ' ', and data is the single line to print; the printer is expected to add a terminating newline.

      To get the effect of the default printer, you would do:

      printf ("%c %s\\n", direction, data);
      
      Parameters:
      logger - the SoupLogger
      level - the level of the information being printed.
      direction - a single-character prefix to data
      data - data to print
    • upcall

      default void upcall(MemorySegment logger, int level, byte direction, MemorySegment data, MemorySegment userData)
      The upcall method is called from native code. The parameters are marshaled and run(Logger, LoggerLogLevel, byte, String) is executed.
    • toCallback

      default MemorySegment toCallback(Arena arena)
      Creates a native function pointer to the upcall(MemorySegment, int, byte, 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