Record Class SDL_AsyncIOOutcome

java.lang.Object
java.lang.Record
club.doki7.sdl3.datatype.SDL_AsyncIOOutcome
All Implemented Interfaces:
IPointer, ISDL_AsyncIOOutcome

@ValueBasedCandidate @UnsafeConstructor public record SDL_AsyncIOOutcome(@NotNull MemorySegment segment) extends Record implements ISDL_AsyncIOOutcome

Information about a completed asynchronous I/O request.

Since: This struct is available since SDL 3.2.0.

Structure

typedef struct SDL_AsyncIOOutcome {
    SDL_AsyncIO* asyncio;
    SDL_AsyncIOTaskType type;
    SDL_AsyncIOResult result;
    void* buffer;
    Uint64 offset;
    Uint64 bytes_requested;
    Uint64 bytes_transferred;
    void* userdata;
} SDL_AsyncIOOutcome;

Contracts

The property segment() should always be not-null (segment != NULL && !segment.equals(MemorySegment.NULL)), and properly aligned to LAYOUT.byteAlignment() bytes. To represent null pointer, you may use a Java null instead. See the documentation of IPointer.segment() for more details.

The constructor of this class is marked as UnsafeConstructor, because it does not perform any runtime check. The constructor can be useful for automatic code generators.

  • Field Details

    • LAYOUT

      public static final StructLayout LAYOUT
    • BYTES

      public static final long BYTES
    • PATH$asyncio

      public static final MemoryLayout.PathElement PATH$asyncio
    • PATH$type

      public static final MemoryLayout.PathElement PATH$type
    • PATH$result

      public static final MemoryLayout.PathElement PATH$result
    • PATH$buffer

      public static final MemoryLayout.PathElement PATH$buffer
    • PATH$offset

      public static final MemoryLayout.PathElement PATH$offset
    • PATH$bytes_requested

      public static final MemoryLayout.PathElement PATH$bytes_requested
    • PATH$bytes_transferred

      public static final MemoryLayout.PathElement PATH$bytes_transferred
    • PATH$userdata

      public static final MemoryLayout.PathElement PATH$userdata
    • LAYOUT$asyncio

      public static final AddressLayout LAYOUT$asyncio
    • LAYOUT$type

      public static final ValueLayout.OfInt LAYOUT$type
    • LAYOUT$result

      public static final ValueLayout.OfInt LAYOUT$result
    • LAYOUT$buffer

      public static final AddressLayout LAYOUT$buffer
    • LAYOUT$offset

      public static final ValueLayout.OfLong LAYOUT$offset
    • LAYOUT$bytes_requested

      public static final ValueLayout.OfLong LAYOUT$bytes_requested
    • LAYOUT$bytes_transferred

      public static final ValueLayout.OfLong LAYOUT$bytes_transferred
    • LAYOUT$userdata

      public static final AddressLayout LAYOUT$userdata
    • SIZE$asyncio

      public static final long SIZE$asyncio
    • SIZE$type

      public static final long SIZE$type
    • SIZE$result

      public static final long SIZE$result
    • SIZE$buffer

      public static final long SIZE$buffer
    • SIZE$offset

      public static final long SIZE$offset
    • SIZE$bytes_requested

      public static final long SIZE$bytes_requested
    • SIZE$bytes_transferred

      public static final long SIZE$bytes_transferred
    • SIZE$userdata

      public static final long SIZE$userdata
    • OFFSET$asyncio

      public static final long OFFSET$asyncio
    • OFFSET$type

      public static final long OFFSET$type
    • OFFSET$result

      public static final long OFFSET$result
    • OFFSET$buffer

      public static final long OFFSET$buffer
    • OFFSET$offset

      public static final long OFFSET$offset
    • OFFSET$bytes_requested

      public static final long OFFSET$bytes_requested
    • OFFSET$bytes_transferred

      public static final long OFFSET$bytes_transferred
    • OFFSET$userdata

      public static final long OFFSET$userdata
  • Constructor Details

    • SDL_AsyncIOOutcome

      public SDL_AsyncIOOutcome(@NotNull @NotNull MemorySegment segment)
      Creates an instance of a SDL_AsyncIOOutcome record class.
      Parameters:
      segment - the value for the segment record component
  • Method Details