Basics

Guides

API Reference

Menu

Basics

Guides

API Reference

class: ThreadedSocketServiceMeta

[243:14] static extends: object

Generated metadata helpers for ThreadedSocketService class surfaces.

Methods

  • properties ()

    Returns property metadata for ThreadedSocketService.

    • @r A list.
  • signals ()

    Returns signal metadata for ThreadedSocketService.

    • @r A list.

class: ThreadedSocketServiceRunCallback

[171:7] extends: object

Generated low-level callback wrapper for GIR callback run.

Members

  • callbackObj
  • userFn
  • userData
  • hasUserData

Methods

  • ThreadedSocketServiceRunCallback (callback Fn, UserData = null)

    Creates one native callback wrapper. The wrapper owns a trampoline that converts native pointers into generated wrapper objects before invoking Fn.

    • @p Fn is the Aussom callback implementation.
    • @p UserData is retained and passed through to Fn on each invocation when provided.
  • trampoline (nativeSelf, connection, source_object, nativeUserData)

    Internal trampoline. Converts native pointer arguments into generated wrapper instances, then invokes the user's callback.

  • callback ()

    Returns the wrapped NativeCallback.

  • handle ()

    Returns the callback as a NativeHandle.

  • close ()

    Closes the underlying NativeCallback.

  • isClosed ()

    Returns true when the callback has been closed.

class: ThreadedSocketService

[22:7] extends: object

A GThreadedSocketService is a simple subclass of [class@Gio.SocketService] that handles incoming connections by creating a worker thread and dispatching the connection to it by emitting the [signal@Gio.ThreadedSocketService::run signal] in the new thread. The signal handler may perform blocking I/O and need not return until the connection is closed. The service is implemented using a thread pool, so there is a limited amount of threads available to serve incoming requests. The service automatically stops the [class@Gio.SocketService] from accepting new connections when all threads are busy. As with [class@Gio.SocketService], you may connect to [signal@Gio.ThreadedSocketService::run], or subclass and override the default handler.

Members

  • handleObj
  • lib
  • retainedCallbacks
  • signalHandlerNames
  • signalSetterHandlers

Methods

  • ThreadedSocketService (max_threads = null)

    Creates a new #GThreadedSocketService with no listeners. Listeners must be added with one of the #GSocketListener "add" methods.

    • @p max_threads is the maximal number of threads to execute concurrently handling incoming clients, -1 means no limit.
  • toNativeHandle (Source)

    Normalizes a constructor argument into a raw pointer carrier. Accepts a raw NativeHandle, a raw NativeBuffer returned from fn.call(...), another generated wrapper exposing handle(), or null. Returns null when the argument carries no pointer.

    • @p Source is the raw handle, raw buffer, wrapper, or null.
    • @r A raw pointer carrier or null when no pointer is present.
  • getLib ()

    Returns the opened native library for this generated wrapper.

    • @r The opened native library.
  • handle ()

    Returns the wrapped NativeHandle.

    • @r The wrapped NativeHandle.
  • isNull ()

    Returns true when the wrapped handle is null.

    • @r A bool.
  • describe ()

    Returns a small string for debugging generated wrappers.

    • @r A string.
  • asSocketService ()

    Wraps this handle as SocketService.

    • @r A SocketService object.
  • connectSignal (string Name, CallbackObj)

    Connects one generated callback wrapper to a named signal.

    • @p Name is the signal name.
    • @p CallbackObj is the generated callback wrapper to connect.
    • @r The connected handler id.
  • disconnectSignalHandler (int HandlerId)

    Disconnects one retained signal handler id.

    • @p HandlerId is the signal handler id to disconnect.
    • @r None.
  • setOnRun (callback Fn, UserData = null)

    The ::run signal is emitted in a worker thread in response to an incoming connection. This thread is dedicated to handling @connection and may perform blocking IO. The signal handler need not return until the connection is closed.

    • @p Fn is the Aussom callback.
    • @p Fn is called with (ThreadedSocketService Self, SocketConnection Connection, Object Source_object).
    • @p UserData is retained and passed through to the generated callback wrapper when provided.
    • @r The connected handler id.