GskPacketQueueFd

Name

GskPacketQueueFd -- A PacketQueue based on a file descriptor.

Synopsis



struct      GskPacketQueueFd;
GskPacketQueue* gsk_packet_queue_fd_new     (int fd);
GskPacketQueue* gsk_packet_queue_fd_new_by_family
                                            (int addr_family);
GskPacketQueue* gsk_packet_queue_fd_new_bound
                                            (GskSocketAddress *address);
gboolean    gsk_packet_queue_fd_set_broadcast
                                            (GskPacketQueueFd *packet_queue_fd,
                                             gboolean allow_broadcast,
                                             GError **error);

Object Hierarchy


  GObject
   +----GskIO
         +----GskPacketQueue
               +----GskPacketQueueFd

Properties


  "file-descriptor"      GskFd                : Read / Write / Construct Only

Description

A datagram client or server.

Details

struct GskPacketQueueFd

struct GskPacketQueueFd;


gsk_packet_queue_fd_new ()

GskPacketQueue* gsk_packet_queue_fd_new     (int fd);

Create a new GskPacketQueue from an already opened file-descriptor.

fd :

the datagram socket file-descriptor.

Returns :

the new packet-queue.


gsk_packet_queue_fd_new_by_family ()

GskPacketQueue* gsk_packet_queue_fd_new_by_family
                                            (int addr_family);

Create a new Packet Queue using a newly opened datagram socket of a given address family. The address family is the sequence of AF_ defines in most unices <sys/socket.h>.

The address family of a GskSocketAddress may be found using gsk_socket_address_protocol_family().

addr_family :

the system-specific address family.

Returns :

the new packet-queue, or NULL if there is a problem creating the socket.


gsk_packet_queue_fd_new_bound ()

GskPacketQueue* gsk_packet_queue_fd_new_bound
                                            (GskSocketAddress *address);

Create a new Packet Queue using a newly opened datagram socket which is bound to a given address.

Note that socket address space for TCP and UDP is separate, so it's allowed (and sometimes encouraged) to bind to the same port for both a packet queue, and a stream-listener.

address :

the address to bind to.

Returns :

the new packet-queue, or NULL if there is a problem creating the socket or binding.


gsk_packet_queue_fd_set_broadcast ()

gboolean    gsk_packet_queue_fd_set_broadcast
                                            (GskPacketQueueFd *packet_queue_fd,
                                             gboolean allow_broadcast,
                                             GError **error);

Changes the operating-system-level flag of whether sends and receives of broadcast packets are allowed on datagram sockets.

packet_queue_fd :

the packet-queue to affect.

allow_broadcast :

whether to allow (TRUE) or disallow broadcast sends and receives. The default for a new datagram socket is to disallow broadcast packets.

error :

optional address of an error to set if things go wrong.

Returns :

whether the operation was successful.

Properties

"file-descriptor" (GskFd : Read / Write / Construct Only)