summaryrefslogtreecommitdiff
path: root/src/lib/ecore_con/efl_net_server_udp_client.eo
blob: 6eeeedef3191f7faf24d1aeea61a05625308e7aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
class Efl.Net.Server_Udp_Client (Efl.Object, Efl.Net.Socket) {
    [[A UDP client child of Efl.Net.Server_Udp

      Unlike connection protocols such as TCP or Local, UDP doesn't
      create extra sockets for its "clients". This thin class
      will then provide the required socket interface on top of the server
      internal socket.

      Given this limitation, some features such as 'cork' (used to
      coalesce multiple writes() into a single datagram) are not
      available since it could interfere with other clients.

      @since 1.19
    ]]

    methods {
        next_datagram_size_query {
            [[Query the next datagram size.

              This will query the next pending datagram size, in
              bytes. If no datagrams are pending, 0 is returned.
            ]]
            return: size; [[Size in bytes]]
        }
    }

    implements {
        Efl.Object.finalize;
        Efl.Object.invalidate;
        Efl.Object.destructor;
        Efl.Io.Closer.close;
        Efl.Io.Closer.closed { get; }
        Efl.Io.Closer.close_on_invalidate { get; set; }
        Efl.Io.Closer.close_on_exec { get; set; }
        Efl.Io.Reader.can_read { get; set; }
        Efl.Io.Reader.eos { get; set; }
        Efl.Io.Reader.read;
        Efl.Io.Writer.write;
        Efl.Io.Writer.can_write { get; set; }
        Efl.Net.Socket.address_local { get; set; }
        Efl.Net.Socket.address_remote { get; set; }
    }
}