summaryrefslogtreecommitdiff
path: root/src/lib/ecore_con/efl_net_dialer_udp.eo
blob: 9faf6b9f8c4890604d16799c5fbecbf2b23ebafb (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
class Efl.Net.Dialer.Udp (Efl.Net.Socket.Udp, Efl.Net.Dialer) {
    [[Connects to a remote UDP server.

      UDP proxies are not supported, not even using SOCKSv5.

      In addition to an IP:PORT, the UDP address to dial may be an
      IPv4 broadcast (255.255.255.255), 'any ip' 0.0.0.0 (IPv4) '::'
      (IPv6) or a multicast of both IPv4 and IPv6, then the group will
      be joined automatically.

      Any IP (0.0.0.0 or '::') and multicast addresses will allow
      incoming packets on @Efl.Io.Reader.read regardless of their
      source. If using a regular IP, packets that do not match the
      remote peer will be dropped as spurious, returning EAGAIN.

      To allow finer control, see:

       - @Efl.Net.Socket.Udp.bind: choose the local address to bind.
       - @Efl.Net.Socket.Udp.multicast_join: join other multicast groups.
       - @Efl.Net.Socket.Udp.multicast_loopback: if packets should be delivered locally or only to remote peers.
       - @Efl.Net.Socket.Udp.multicast_time_to_live: how far, in number of hops, the packet should go.

      I

      @since 1.19
    ]]

    implements {
        Efl.Object.constructor;
        Efl.Object.destructor;
        Efl.Net.Dialer.dial;
        Efl.Net.Dialer.address_dial { get; set; }
        Efl.Net.Dialer.connected { get; set; }
        Efl.Net.Dialer.timeout_dial { get; set; }
        Efl.Io.Closer.close;
    }
}