InfTcpConnection

InfTcpConnection

Functions

Properties

guint device-index Read / Write
gchar * device-name Read / Write
InfIo * io Read / Write / Construct Only
InfIpAddress * local-address Read
guint local-port Read
InfIpAddress * remote-address Read / Write
guint remote-port Read / Write
InfTcpConnectionStatus status Read

Signals

void error Run Last
void received Run Last
void sent Run Last

Types and Values

Object Hierarchy

    GEnum
    ╰── InfTcpConnectionStatus
    GObject
    ╰── InfTcpConnection

Description

Functions

inf_tcp_connection_new ()

InfTcpConnection *
inf_tcp_connection_new (InfIo *io,
                        InfIpAddress *remote_addr,
                        guint remote_port);

Creates a new InfTcpConnection. The arguments are stored as properties for an eventual inf_tcp_connection_open() call, this function itself does not establish a connection.

Parameters

io

A InfIo object used to watch for activity.

 

remote_addr

The address to eventually connect to.

 

remote_port

The port to eventually connect to.

 

Returns

A new InfTcpConnection. Free with g_object_unref().


inf_tcp_connection_new_and_open ()

InfTcpConnection *
inf_tcp_connection_new_and_open (InfIo *io,
                                 InfIpAddress *remote_addr,
                                 guint remote_port,
                                 GError **error);

Creates a new InfTcpConnection and connects it to the given TCP endpoint. Like inf_tcp_connection_new, but calls inf_tcp_connection_open().

Parameters

io

A InfIo object used to watch for activity.

 

remote_addr

The address to connect to.

 

remote_port

The port to connect to.

 

error

Location to store error information.

 

Returns

A new InfTcpConnection, or NULL on error. Free with g_object_unref().


inf_tcp_connection_open ()

gboolean
inf_tcp_connection_open (InfTcpConnection *connection,
                         GError **error);

Attempts to open connection . Make sure to have set the "remote-address" and "remote-port" property before calling this function. If an error occurs, the function returns FALSE and error is set. Note however that the connection might not be fully open when the function returns (check the "status" property if you need to know). If an asynchronous error occurs while the connection is being opened, the "error" signal is emitted.

Parameters

connection

A InfTcpConnection.

 

error

Location to store error information.

 

Returns

FALSE if an error occured and TRUE otherwise.


inf_tcp_connection_close ()

void
inf_tcp_connection_close (InfTcpConnection *connection);

Closes a TCP connection that is either open or currently connecting.

Parameters

connection

A InfTcpConnection.

 

inf_tcp_connection_send ()

void
inf_tcp_connection_send (InfTcpConnection *connection,
                         gconstpointer data,
                         guint len);

Sends data through the TCP connection. The data is not sent immediately, but enqueued to a buffer and will be sent as soon as kernel space becomes available. The "sent" signal will be emitted when data has really been sent.

Parameters

connection

A InfTcpConnection with status INF_TCP_CONNECTION_CONNECTED.

 

data

The data to send.

 

len

Number of bytes to send.

 

inf_tcp_connection_get_remote_address ()

InfIpAddress *
inf_tcp_connection_get_remote_address (InfTcpConnection *connection);

Returns the IP address of the remote site.

Parameters

connection

A InfTcpConnection.

 

Returns

A InfIpAddress owned by connection . You do not need to free it, but need to make your own copy if you want to keep it longer than connection 's lifetime.


inf_tcp_connection_get_remote_port ()

guint
inf_tcp_connection_get_remote_port (InfTcpConnection *connection);

Returns the port of the remote site to which connection is (or was) connected or connecting.

Parameters

connection

A InfTcpConnection.

 

Returns

The port of the remote site.

Types and Values

enum InfTcpConnectionStatus

Members

INF_TCP_CONNECTION_CONNECTING

   

INF_TCP_CONNECTION_CONNECTED

   

INF_TCP_CONNECTION_CLOSED

   

struct InfTcpConnection

struct InfTcpConnection;


struct InfTcpConnectionClass

struct InfTcpConnectionClass {
  GObjectClass parent_class;

  /* Signals */
  void (*sent)(InfTcpConnection* connection,
               gconstpointer data,
               guint len);

  void (*received)(InfTcpConnection* connection,
                   gconstpointer data,
                   guint len);

  void (*error)(InfTcpConnection* connection,
                GError* error);
};

Property Details

The “device-index” property

  “device-index”             guint

The index of the device to use for the connection.

Flags: Read / Write

Default value: 0


The “device-name” property

  “device-name”              gchar *

The name of the device to use for the connection, such as `eth0'.

Flags: Read / Write

Default value: NULL


The “io” property

  “io”                       InfIo *

I/O handler.

Flags: Read / Write / Construct Only


The “local-address” property

  “local-address”            InfIpAddress *

The local address of the connection.

Flags: Read


The “local-port” property

  “local-port”               guint

The local port of the connection.

Flags: Read

Allowed values: <= 65535

Default value: 0


The “remote-address” property

  “remote-address”           InfIpAddress *

Address to connect to.

Flags: Read / Write


The “remote-port” property

  “remote-port”              guint

Port to connect to.

Flags: Read / Write

Allowed values: <= 65535

Default value: 0


The “status” property

  “status”                   InfTcpConnectionStatus

Status of the TCP connection.

Flags: Read

Default value: INF_TCP_CONNECTION_CLOSED

Signal Details

The “error” signal

void
user_function (InfTcpConnection *connection,
               gpointer          error,
               gpointer          user_data)

Parameters

connection

The erroneous InfTcpConnection

 

error

A pointer to a GError object with details on the error

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “received” signal

void
user_function (InfTcpConnection *connection,
               gpointer          data,
               guint             length,
               gpointer          user_data)

Parameters

connection

The InfTcpConnection through which the data has been received

 

data

A gpointer refering to the data that has been received

 

length

A guint holding the number of bytes that has been received

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “sent” signal

void
user_function (InfTcpConnection *connection,
               gpointer          data,
               guint             length,
               gpointer          user_data)

Parameters

connection

The InfTcpConnection through which the data has been sent

 

data

A gpointer refering to the data that has been sent

 

length

A guint holding the number of bytes that has been sent

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last