aboutsummaryrefslogtreecommitdiffstats
path: root/pages/develop/api/efl/net/server/udp/client.txt
blob: 2a803e9d35044039a02cb2473a7b836d5a96b80b (plain) (blame)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
~~Title: Efl.Net.Server.Udp.Client~~
====== Efl.Net.Server.Udp.Client (class) ======

===== Description =====

%%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". Then this thin class will 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//

{{page>:develop:api-include:efl:net:server:udp:client:description&nouser&nolink&nodate}}

===== Inheritance =====

 => [[:develop:api:efl:object|Efl.Object]] //(class)//
++++ Inheritance graph |

<graphviz>
digraph hierarchy {
    bgcolor = "transparent"
    size = "6"
    rankdir = "TB"

    node [shape = "box"]
    edge [color = "gray35"]

    efl_net_server_udp_client [fillcolor = "black", label = "Efl.Net.Server.Udp.Client", color = "gray15", fontcolor = "white", style = "filled"]
    efl_object [fillcolor = "gray15", label = "Efl.Object", color = "gray15", fontcolor = "white", style = "filled"]
    efl_net_socket [fillcolor = "gray15", label = "Efl.Net.Socket", color = "cornflowerblue", fontcolor = "white", style = "filled"]
    efl_io_reader [fillcolor = "gray15", label = "Efl.Io.Reader", color = "cornflowerblue", fontcolor = "white", style = "filled"]
    efl_io_writer [fillcolor = "gray15", label = "Efl.Io.Writer", color = "cornflowerblue", fontcolor = "white", style = "filled"]
    efl_io_closer [fillcolor = "gray15", label = "Efl.Io.Closer", color = "deepskyblue", fontcolor = "white", style = "filled"]

    efl_net_server_udp_client -> efl_object
    efl_net_server_udp_client -> efl_net_socket
    efl_net_socket -> efl_io_reader
    efl_net_socket -> efl_io_writer
    efl_net_socket -> efl_io_closer
}
</graphviz>

++++

++++ Full hierarchy |

  * [[:develop:api:efl:object|Efl.Object]] //(class)//
  * [[:develop:api:efl:net:socket|Efl.Net.Socket]] //(interface)//
    * [[:develop:api:efl:io:reader|Efl.Io.Reader]] //(interface)//
    * [[:develop:api:efl:io:writer|Efl.Io.Writer]] //(interface)//
    * [[:develop:api:efl:io:closer|Efl.Io.Closer]] //(mixin)//


++++
===== Members =====

**[[:develop:api:efl:net:server:udp:client:method:close|close]]**// [Overridden from [[:develop:api:efl:io:closer|Efl.Io.Closer]]]//\\
> %%Closes the Input/Output object.%%
<code c>
Eina_Error efl_io_closer_close(Eo *obj);
</code>
\\
**[[:develop:api:efl:net:server:udp:client:method:destructor|destructor]]**// [Overridden from [[:develop:api:efl:object|Efl.Object]]]//\\
> %%Call the object's destructor.%%
<code c>
void efl_destructor(Eo *obj);
</code>
\\
**[[:develop:api:efl:net:server:udp:client:method:finalize|finalize]]**// [Overridden from [[:develop:api:efl:object|Efl.Object]]]//\\
> %%Called at the end of #eo_add. Should not be called, just overridden.%%
<code c>
Efl_Object *efl_finalize(Eo *obj);
</code>
\\
**[[:develop:api:efl:net:server:udp:client:method:next_datagram_size_query|next_datagram_size_query]]**\\
> %%Query the next datagram size.%%
<code c>
size_t efl_net_server_udp_client_next_datagram_size_query(Eo *obj);
</code>
\\
**[[:develop:api:efl:net:server:udp:client:method:read|read]]**// [Overridden from [[:develop:api:efl:io:reader|Efl.Io.Reader]]]//\\
> %%Reads data into a pre-allocated buffer.%%
<code c>
Eina_Error efl_io_reader_read(Eo *obj, Eina_Rw_Slice rw_slice);
</code>
\\
**[[:develop:api:efl:net:server:udp:client:method:write|write]]**// [Overridden from [[:develop:api:efl:io:writer|Efl.Io.Writer]]]//\\
> %%Writes data from a pre-populated buffer.%%
<code c>
Eina_Error efl_io_writer_write(Eo *obj, Eina_Slice slice, Eina_Slice *remaining);
</code>
\\
**[[:develop:api:efl:net:server:udp:client:property:address_local|address_local]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:net:socket|Efl.Net.Socket]]]// ''protected set''\\
> %%The local address, similar to getsockname().%%
<code c>
const char *efl_net_socket_address_local_get(const Eo *obj);
void efl_net_socket_address_local_set(Eo *obj, const char *address);
</code>
\\
**[[:develop:api:efl:net:server:udp:client:property:address_remote|address_remote]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:net:socket|Efl.Net.Socket]]]// ''protected set''\\
> %%The remote address, similar to getpeername().%%
<code c>
const char *efl_net_socket_address_remote_get(const Eo *obj);
void efl_net_socket_address_remote_set(Eo *obj, const char *address);
</code>
\\
**[[:develop:api:efl:net:server:udp:client:property:can_read|can_read]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:io:reader|Efl.Io.Reader]]]// ''protected set''\\
> %%If %%''true''%% will notify %%[[:develop:api:efl:io:reader:method:read|Efl.Io.Reader.read]]%% can be called without blocking or failing.%%
<code c>
Eina_Bool efl_io_reader_can_read_get(const Eo *obj);
void efl_io_reader_can_read_set(Eo *obj, Eina_Bool can_read);
</code>
\\
**[[:develop:api:efl:net:server:udp:client:property:can_write|can_write]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:io:writer|Efl.Io.Writer]]]// ''protected set''\\
> %%If %%''true''%% will notify %%[[:develop:api:efl:io:writer:method:write|Efl.Io.Writer.write]]%% can be called without blocking or failing.%%
<code c>
Eina_Bool efl_io_writer_can_write_get(const Eo *obj);
void efl_io_writer_can_write_set(Eo *obj, Eina_Bool can_write);
</code>
\\
**[[:develop:api:efl:net:server:udp:client:property:close_on_destructor|close_on_destructor]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:io:closer|Efl.Io.Closer]]]//\\
> %%If true will automatically close() on object destructor.%%
<code c>
Eina_Bool efl_io_closer_close_on_destructor_get(const Eo *obj);
void efl_io_closer_close_on_destructor_set(Eo *obj, Eina_Bool close_on_destructor);
</code>
\\
**[[:develop:api:efl:net:server:udp:client:property:close_on_exec|close_on_exec]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:io:closer|Efl.Io.Closer]]]//\\
> %%If true will automatically close resources on exec() calls.%%
<code c>
Eina_Bool efl_io_closer_close_on_exec_get(const Eo *obj);
Eina_Bool efl_io_closer_close_on_exec_set(Eo *obj, Eina_Bool close_on_exec);
</code>
\\
**[[:develop:api:efl:net:server:udp:client:property:closed|closed]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:io:closer|Efl.Io.Closer]]]//\\
> %%If true will notify object was closed.%%
<code c>
Eina_Bool efl_io_closer_closed_get(const Eo *obj);
Eina_Bool efl_io_closer_closed_set(Eo *obj, Eina_Bool is_closed);
</code>
\\
**[[:develop:api:efl:net:server:udp:client:property:eos|eos]]** //**(get, set)**//// [Overridden from [[:develop:api:efl:io:reader|Efl.Io.Reader]]]// ''protected set''\\
> %%If %%''true''%% will notify end of stream.%%
<code c>
Eina_Bool efl_io_reader_eos_get(const Eo *obj);
void efl_io_reader_eos_set(Eo *obj, Eina_Bool is_eos);
</code>
\\

==== Inherited ====

[[:develop:api:efl:object|Efl.Object]]\\
> **[[:develop:api:efl:object:method:children_iterator_new|children_iterator_new]]**, **[[:develop:api:efl:object:method:composite_attach|composite_attach]]**, **[[:develop:api:efl:object:method:composite_detach|composite_detach]]**, **[[:develop:api:efl:object:method:composite_part_is|composite_part_is]]**, **[[:develop:api:efl:object:method:constructor|constructor]]**, **[[:develop:api:efl:object:method:debug_name_override|debug_name_override]]**, **[[:develop:api:efl:object:method:del|del]]**, **[[:develop:api:efl:object:method:event_callback_forwarder_add|event_callback_forwarder_add]]**, **[[:develop:api:efl:object:method:event_callback_forwarder_del|event_callback_forwarder_del]]**, **[[:develop:api:efl:object:method:event_callback_stop|event_callback_stop]]**, **[[:develop:api:efl:object:method:event_freeze|event_freeze]]**, **[[:develop:api:efl:object:method:event_global_freeze|event_global_freeze]]**, **[[:develop:api:efl:object:method:event_global_thaw|event_global_thaw]]**, **[[:develop:api:efl:object:method:event_thaw|event_thaw]]**, **[[:develop:api:efl:object:method:name_find|name_find]]**, **[[:develop:api:efl:object:method:provider_find|provider_find]]**, **[[:develop:api:efl:object:property:allow_parent_unref|allow_parent_unref]]** //**(get, set)**//, **[[:develop:api:efl:object:property:comment|comment]]** //**(get, set)**//, **[[:develop:api:efl:object:property:event_freeze_count|event_freeze_count]]** //**(get)**//, **[[:develop:api:efl:object:property:event_global_freeze_count|event_global_freeze_count]]** //**(get)**//, **[[:develop:api:efl:object:property:finalized|finalized]]** //**(get)**//, **[[:develop:api:efl:object:property:name|name]]** //**(get, set)**//, **[[:develop:api:efl:object:property:parent|parent]]** //**(get, set)**//
===== Events =====

==== Inherited ====

[[:develop:api:efl:io:closer|Efl.Io.Closer]]\\
> **[[:develop:api:efl:io:closer:event:closed|closed]]**\\
[[:develop:api:efl:io:reader|Efl.Io.Reader]]\\
> **[[:develop:api:efl:io:reader:event:can_read_changed|can_read,changed]]**, **[[:develop:api:efl:io:reader:event:eos|eos]]**\\
[[:develop:api:efl:io:writer|Efl.Io.Writer]]\\
> **[[:develop:api:efl:io:writer:event:can_write_changed|can_write,changed]]**\\
[[:develop:api:efl:object|Efl.Object]]\\
> **[[:develop:api:efl:object:event:callback_add|callback,add]]**, **[[:develop:api:efl:object:event:callback_del|callback,del]]**, **[[:develop:api:efl:object:event:del|del]]**