Table of Contents

Struct PamojaTransportCallbacks

Namespace
Pamoja.Native.Interop
Assembly
Pamoja.Native.dll

The functions a host supplies to stand as a transport, mirroring PamojaTransportCallbacks in pamoja.h.

public struct PamojaTransportCallbacks
Inherited Members

Remarks

Connect, Send, and Subscribe are required; Recv is null for a link that only sends, and Release is null when the user data needs no cleanup. Every pointer targets a method marked UnmanagedCallersOnlyAttribute with the C calling convention.

Fields

Connect

Establishes the link.

public delegate* unmanaged[Cdecl]<nint, PamojaStatus> Connect

Field Value

delegate* unmanaged[Cdecl]<nint, PamojaStatus>

Recv

Waits for the next message, storing a handle or null once the link ended.

public delegate* unmanaged[Cdecl]<nint, nint*, PamojaStatus> Recv

Field Value

delegate* unmanaged[Cdecl]<nint, nint*, PamojaStatus>

Release

Frees the user data once nothing will call the host again.

public delegate* unmanaged[Cdecl]<nint, void> Release

Field Value

delegate* unmanaged[Cdecl]<nint, void>

Send

Publishes a payload to a null-terminated UTF-8 topic.

public delegate* unmanaged[Cdecl]<nint, nint, byte*, nuint, PamojaStatus> Send

Field Value

delegate* unmanaged[Cdecl]<nint, nint, byte*, nuint, PamojaStatus>

Subscribe

Subscribes to a null-terminated UTF-8 topic filter.

public delegate* unmanaged[Cdecl]<nint, nint, PamojaStatus> Subscribe

Field Value

delegate* unmanaged[Cdecl]<nint, nint, PamojaStatus>