UfoMessenger

UfoMessenger

Functions

Types and Values

Object Hierarchy

    GInterface
    ╰── UfoMessenger

Description

Functions

ufo_message_free ()

void
ufo_message_free (UfoMessage *msg);

ufo_message_new ()

UfoMessage *
ufo_message_new (UfoMessageType type,
                 guint64 data_size);

Create a new message.

[skip]

Parameters

type

message type

 

data_size

total size of the message

 

ufo_messenger_create ()

UfoMessenger *
ufo_messenger_create (const gchar *address,
                      GError **error);

Create a new UfoMessenger basend on the PROTOCOL:// of the given address

Parameters

address

listen address for the messenger.

[transfer none][type utf8]

error

A GError used to report errors during messenger creation

 

Returns

A new UfoMessenger or NULL in case of error.

[transfer full][allow-none]


ufo_messenger_connect ()

void
ufo_messenger_connect (UfoMessenger *messenger,
                       const gchar *addr,
                       UfoMessengerRole role,
                       GError **error);

Connects a messenger to and endpoint.

Parameters

messenger

The messenger object

 

addr

(transfer none) : The address to connect. This is implementation specific.

 

role

The role of the local endpoint (client or server).

 

error

Location for a GError or NULL.

[allow-none]

ufo_messenger_disconnect ()

void
ufo_messenger_disconnect (UfoMessenger *messenger);

ufo_messenger_send_blocking ()

UfoMessage *
ufo_messenger_send_blocking (UfoMessenger *messenger,
                             UfoMessage *request,
                             GError **error);

[skip]

Parameters

messenger

The messenger object

 

request

The request UfoMessage.

[transfer none]

error

A GError

 

Returns

(allow-none) : A UfoMessage response to the sent request.

Sends a UfoMessage request to the connected endpoint and blocks until the message want fully sent.


ufo_messenger_recv_blocking ()

UfoMessage *
ufo_messenger_recv_blocking (UfoMessenger *messenger,
                             GError **error);

[skip]

Parameters

messenger

The messenger object.

 

error

The GError object

 

Returns

The received UfoMessage.

Receives a UfoMessage from the connected endpoint and blocks until the message was fully received.


ufo_messenger_error_quark ()

GQuark
ufo_messenger_error_quark (void);

Types and Values

UFO_MESSENGER_ERROR

#define UFO_MESSENGER_ERROR            ufo_messenger_error_quark()

enum UfoMessageType

The type of a message.

Members

UFO_MESSAGE_STREAM_JSON

use data distribution mode

 

UFO_MESSAGE_REPLICATE_JSON

use replication mode

 

UFO_MESSAGE_GET_NUM_DEVICES

get remote number of devices

 

UFO_MESSAGE_GET_STRUCTURE

get remote structure

 

UFO_MESSAGE_GET_REQUISITION

get remote requisition

 

UFO_MESSAGE_SEND_INPUTS

insert

 

UFO_MESSAGE_GET_RESULT

get result

 

UFO_MESSAGE_CLEANUP

demand cleanup

 

UFO_MESSAGE_TERMINATE

terminate connection

 

UFO_MESSAGE_INVALID_REQUEST

invalid request reply

 

UFO_MESSAGE_STRUCTURE

returned structure

 

UFO_MESSAGE_REQUISITION

returned requisition

 

UFO_MESSAGE_RESULT

returned result

 

UFO_MESSAGE_ACK

acknowledge

 

struct UfoMessage

struct UfoMessage {
    UfoMessageType type;
    guint64 data_size;
    gpointer data;
};

A message transfered via a communication channel.

Members

UfoMessageType type;

UfoMessageType

 

guint64 data_size;

The size of the data field.

 

gpointer data;

A gpointer to the transferred data

 

enum UfoMessengerError

Members

UFO_MESSENGER_CONNECTION_PROBLEM

Could not establish a connection

 

UFO_MESSENGER_BUFFER_FULL

Buffer is filled up completely

 

UFO_MESSENGER_SIZE_MISSMATCH

Size mismatch

 

UFO_MESSENGER_INVALID_ADDRESS

Given listen address is invalid

 

UFO_MESSENGER_UNKNOWN_PROTOCOL

The given address is of unknown PROTOCOL://

 

enum UfoMessengerRole

The role of a connection endpoint.

Members

UFO_MESSENGER_CLIENT

Messenger is a client

 

UFO_MESSENGER_SERVER

Messenger is a server