summaryrefslogtreecommitdiff
path: root/pages/develop/api/efl/net/socket
diff options
context:
space:
mode:
authorAndy Williams <andy@andywilliams.me>2017-12-11 16:59:35 +0000
committerAndy Williams <andy@andywilliams.me>2017-12-11 16:59:49 +0000
commit2782d0c642dcea66ee93d10fa12d78f130e66cdb (patch)
treebd3a7c81cff9903b042a11a1c30efc8760c617ff /pages/develop/api/efl/net/socket
parent7dd88611a2938001370bdbac9b72b4a25854a2d0 (diff)
Updated Unified API docs with latest generator
Diffstat (limited to 'pages/develop/api/efl/net/socket')
-rw-r--r--pages/develop/api/efl/net/socket/fd.txt219
-rw-r--r--pages/develop/api/efl/net/socket/fd/method/close.txt30
-rw-r--r--pages/develop/api/efl/net/socket/fd/method/constructor.txt26
-rw-r--r--pages/develop/api/efl/net/socket/fd/method/destructor.txt24
-rw-r--r--pages/develop/api/efl/net/socket/fd/method/finalize.txt24
-rw-r--r--pages/develop/api/efl/net/socket/fd/method/read.txt37
-rw-r--r--pages/develop/api/efl/net/socket/fd/method/write.txt39
-rw-r--r--pages/develop/api/efl/net/socket/fd/property/address_local.txt44
-rw-r--r--pages/develop/api/efl/net/socket/fd/property/address_remote.txt44
-rw-r--r--pages/develop/api/efl/net/socket/fd/property/can_read.txt40
-rw-r--r--pages/develop/api/efl/net/socket/fd/property/can_write.txt40
-rw-r--r--pages/develop/api/efl/net/socket/fd/property/closed.txt50
-rw-r--r--pages/develop/api/efl/net/socket/fd/property/eos.txt40
-rw-r--r--pages/develop/api/efl/net/socket/fd/property/family.txt44
-rw-r--r--pages/develop/api/efl/net/socket/fd/property/fd.txt45
-rw-r--r--pages/develop/api/efl/net/socket/property/address_local.txt44
-rw-r--r--pages/develop/api/efl/net/socket/property/address_remote.txt44
-rw-r--r--pages/develop/api/efl/net/socket/simple.txt224
-rw-r--r--pages/develop/api/efl/net/socket/simple/property/address_local.txt44
-rw-r--r--pages/develop/api/efl/net/socket/simple/property/address_remote.txt44
-rw-r--r--pages/develop/api/efl/net/socket/simple/property/inner_io.txt58
-rw-r--r--pages/develop/api/efl/net/socket/ssl.txt207
-rw-r--r--pages/develop/api/efl/net/socket/ssl/error/certificate_verify_failed.txt19
-rw-r--r--pages/develop/api/efl/net/socket/ssl/error/handshake.txt19
-rw-r--r--pages/develop/api/efl/net/socket/ssl/event/ssl_error.txt41
-rw-r--r--pages/develop/api/efl/net/socket/ssl/event/ssl_ready.txt41
-rw-r--r--pages/develop/api/efl/net/socket/ssl/method/adopt.txt38
-rw-r--r--pages/develop/api/efl/net/socket/ssl/method/close.txt30
-rw-r--r--pages/develop/api/efl/net/socket/ssl/method/constructor.txt26
-rw-r--r--pages/develop/api/efl/net/socket/ssl/method/destructor.txt24
-rw-r--r--pages/develop/api/efl/net/socket/ssl/method/finalize.txt24
-rw-r--r--pages/develop/api/efl/net/socket/ssl/method/read.txt37
-rw-r--r--pages/develop/api/efl/net/socket/ssl/method/write.txt39
-rw-r--r--pages/develop/api/efl/net/socket/ssl/property/address_local.txt44
-rw-r--r--pages/develop/api/efl/net/socket/ssl/property/address_remote.txt44
-rw-r--r--pages/develop/api/efl/net/socket/ssl/property/adopted.txt33
-rw-r--r--pages/develop/api/efl/net/socket/ssl/property/can_read.txt40
-rw-r--r--pages/develop/api/efl/net/socket/ssl/property/can_write.txt40
-rw-r--r--pages/develop/api/efl/net/socket/ssl/property/close_on_destructor.txt42
-rw-r--r--pages/develop/api/efl/net/socket/ssl/property/close_on_exec.txt52
-rw-r--r--pages/develop/api/efl/net/socket/ssl/property/closed.txt50
-rw-r--r--pages/develop/api/efl/net/socket/ssl/property/eos.txt40
-rw-r--r--pages/develop/api/efl/net/socket/ssl/property/hostname_override.txt46
-rw-r--r--pages/develop/api/efl/net/socket/ssl/property/hostname_verify.txt42
-rw-r--r--pages/develop/api/efl/net/socket/ssl/property/verify_mode.txt40
-rw-r--r--pages/develop/api/efl/net/socket/tcp.txt238
-rw-r--r--pages/develop/api/efl/net/socket/tcp/property/cork.txt41
-rw-r--r--pages/develop/api/efl/net/socket/tcp/property/fd.txt45
-rw-r--r--pages/develop/api/efl/net/socket/tcp/property/keep_alive.txt41
-rw-r--r--pages/develop/api/efl/net/socket/tcp/property/no_delay.txt41
-rw-r--r--pages/develop/api/efl/net/socket/udp.txt307
-rw-r--r--pages/develop/api/efl/net/socket/udp/method/constructor.txt26
-rw-r--r--pages/develop/api/efl/net/socket/udp/method/destructor.txt24
-rw-r--r--pages/develop/api/efl/net/socket/udp/method/init.txt32
-rw-r--r--pages/develop/api/efl/net/socket/udp/method/multicast_groups_get.txt28
-rw-r--r--pages/develop/api/efl/net/socket/udp/method/multicast_join.txt41
-rw-r--r--pages/develop/api/efl/net/socket/udp/method/multicast_leave.txt35
-rw-r--r--pages/develop/api/efl/net/socket/udp/method/next_datagram_size_query.txt28
-rw-r--r--pages/develop/api/efl/net/socket/udp/method/read.txt37
-rw-r--r--pages/develop/api/efl/net/socket/udp/method/write.txt39
-rw-r--r--pages/develop/api/efl/net/socket/udp/property/bind.txt47
-rw-r--r--pages/develop/api/efl/net/socket/udp/property/cork.txt41
-rw-r--r--pages/develop/api/efl/net/socket/udp/property/dont_route.txt43
-rw-r--r--pages/develop/api/efl/net/socket/udp/property/fd.txt45
-rw-r--r--pages/develop/api/efl/net/socket/udp/property/multicast_loopback.txt43
-rw-r--r--pages/develop/api/efl/net/socket/udp/property/multicast_time_to_live.txt43
-rw-r--r--pages/develop/api/efl/net/socket/udp/property/reuse_address.txt41
-rw-r--r--pages/develop/api/efl/net/socket/udp/property/reuse_port.txt41
-rw-r--r--pages/develop/api/efl/net/socket/unix.txt213
-rw-r--r--pages/develop/api/efl/net/socket/unix/property/fd.txt45
-rw-r--r--pages/develop/api/efl/net/socket/windows.txt154
-rw-r--r--pages/develop/api/efl/net/socket/windows/method/close.txt30
-rw-r--r--pages/develop/api/efl/net/socket/windows/method/constructor.txt26
-rw-r--r--pages/develop/api/efl/net/socket/windows/method/destructor.txt24
-rw-r--r--pages/develop/api/efl/net/socket/windows/method/read.txt37
-rw-r--r--pages/develop/api/efl/net/socket/windows/method/write.txt39
-rw-r--r--pages/develop/api/efl/net/socket/windows/property/address_local.txt44
-rw-r--r--pages/develop/api/efl/net/socket/windows/property/address_remote.txt44
-rw-r--r--pages/develop/api/efl/net/socket/windows/property/can_read.txt40
-rw-r--r--pages/develop/api/efl/net/socket/windows/property/can_write.txt40
-rw-r--r--pages/develop/api/efl/net/socket/windows/property/close_on_destructor.txt42
-rw-r--r--pages/develop/api/efl/net/socket/windows/property/close_on_exec.txt52
-rw-r--r--pages/develop/api/efl/net/socket/windows/property/closed.txt50
-rw-r--r--pages/develop/api/efl/net/socket/windows/property/eos.txt40
84 files changed, 4529 insertions, 0 deletions
diff --git a/pages/develop/api/efl/net/socket/fd.txt b/pages/develop/api/efl/net/socket/fd.txt
new file mode 100644
index 0000000..fc09eae
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd.txt
@@ -0,0 +1,219 @@
1~~Title: Efl.Net.Socket.Fd~~
2====== Efl.Net.Socket.Fd (class) ======
3
4===== Description =====
5
6%%A base implementation for sockets over filedescriptors (fd)%%
7
8%%This is the common class and takes an existing FD, usually created by an dialer or server.%%
9
10%%%%[[:develop:api:mixin:efl:io:closer:property:close_on_exec|Efl.Io.Closer.close_on_exec]]%% and %%[[:develop:api:mixin:efl:io:closer:property:close_on_destructor|Efl.Io.Closer.close_on_destructor]]%% are respected and default to %%''true''%%.%%
11
12//Since 1.19//
13
14{{page>:develop:api-include:efl:net:socket:fd:description&nouser&nolink&nodate}}
15
16===== Inheritance =====
17
18 => [[:develop:api:efl:loop:fd|Efl.Loop.Fd]] //(class)// => [[:develop:api:efl:loop_user|Efl.Loop_User]] //(class)// => [[:develop:api:efl:object|Efl.Object]] //(class)//
19++++ Inheritance graph |
20
21<graphviz>
22digraph hierarchy {
23 bgcolor = "transparent"
24 size = "6"
25 rankdir = "TB"
26
27 node [shape = "box"]
28 edge [color = "gray35"]
29
30 efl_net_socket_fd [fillcolor = "black", label = "Efl.Net.Socket.Fd", color = "gray15", fontcolor = "white", style = "filled"]
31 efl_loop_fd [fillcolor = "gray15", label = "Efl.Loop.Fd", color = "gray15", fontcolor = "white", style = "filled"]
32 efl_loop_user [fillcolor = "gray15", label = "Efl.Loop_User", color = "gray15", fontcolor = "white", style = "filled"]
33 efl_object [fillcolor = "gray15", label = "Efl.Object", color = "gray15", fontcolor = "white", style = "filled"]
34 efl_io_reader_fd [fillcolor = "gray15", label = "Efl.Io.Reader.Fd", color = "deepskyblue", fontcolor = "white", style = "filled"]
35 efl_io_reader [fillcolor = "gray15", label = "Efl.Io.Reader", color = "cornflowerblue", fontcolor = "white", style = "filled"]
36 efl_io_writer_fd [fillcolor = "gray15", label = "Efl.Io.Writer.Fd", color = "deepskyblue", fontcolor = "white", style = "filled"]
37 efl_io_writer [fillcolor = "gray15", label = "Efl.Io.Writer", color = "cornflowerblue", fontcolor = "white", style = "filled"]
38 efl_io_closer_fd [fillcolor = "gray15", label = "Efl.Io.Closer.Fd", color = "deepskyblue", fontcolor = "white", style = "filled"]
39 efl_io_closer [fillcolor = "gray15", label = "Efl.Io.Closer", color = "deepskyblue", fontcolor = "white", style = "filled"]
40 efl_object [fillcolor = "gray15", label = "Efl.Object", color = "gray15", fontcolor = "white", style = "filled"]
41 efl_net_socket [fillcolor = "gray15", label = "Efl.Net.Socket", color = "cornflowerblue", fontcolor = "white", style = "filled"]
42 efl_io_reader [fillcolor = "gray15", label = "Efl.Io.Reader", color = "cornflowerblue", fontcolor = "white", style = "filled"]
43 efl_io_writer [fillcolor = "gray15", label = "Efl.Io.Writer", color = "cornflowerblue", fontcolor = "white", style = "filled"]
44 efl_io_closer [fillcolor = "gray15", label = "Efl.Io.Closer", color = "deepskyblue", fontcolor = "white", style = "filled"]
45
46 efl_net_socket_fd -> efl_loop_fd
47 efl_loop_fd -> efl_loop_user
48 efl_loop_user -> efl_object
49 efl_net_socket_fd -> efl_io_reader_fd
50 efl_io_reader_fd -> efl_io_reader
51 efl_net_socket_fd -> efl_io_writer_fd
52 efl_io_writer_fd -> efl_io_writer
53 efl_net_socket_fd -> efl_io_closer_fd
54 efl_io_closer_fd -> efl_io_closer
55 efl_io_closer_fd -> efl_object
56 efl_net_socket_fd -> efl_net_socket
57 efl_net_socket -> efl_io_reader
58 efl_net_socket -> efl_io_writer
59 efl_net_socket -> efl_io_closer
60}
61</graphviz>
62
63++++
64
65++++ Full hierarchy |
66
67 * [[:develop:api:efl:loop:fd|Efl.Loop.Fd]] //(class)//
68 * [[:develop:api:efl:loop_user|Efl.Loop_User]] //(class)//
69 * [[:develop:api:efl:object|Efl.Object]] //(class)//
70 * [[:develop:api:efl:io:reader:fd|Efl.Io.Reader.Fd]] //(mixin)//
71 * [[:develop:api:efl:io:reader|Efl.Io.Reader]] //(interface)//
72 * [[:develop:api:efl:io:writer:fd|Efl.Io.Writer.Fd]] //(mixin)//
73 * [[:develop:api:efl:io:writer|Efl.Io.Writer]] //(interface)//
74 * [[:develop:api:efl:io:closer:fd|Efl.Io.Closer.Fd]] //(mixin)//
75 * [[:develop:api:efl:io:closer|Efl.Io.Closer]] //(mixin)//
76 * [[:develop:api:efl:object|Efl.Object]] //(class)//
77 * [[:develop:api:efl:net:socket|Efl.Net.Socket]] //(interface)//
78 * [[:develop:api:efl:io:reader|Efl.Io.Reader]] //(interface)//
79 * [[:develop:api:efl:io:writer|Efl.Io.Writer]] //(interface)//
80 * [[:develop:api:efl:io:closer|Efl.Io.Closer]] //(mixin)//
81
82
83++++
84===== Members =====
85
86**[[:develop:api:efl:net:socket:fd:property:family|family]]** //**(get, set)**// ''protected set''
87<code c>
88int efl_net_socket_fd_family_get(const Eo *obj);
89void efl_net_socket_fd_family_set(Eo *obj, int family);
90</code>
91
92%%The address family (AF_*) family of this socket.%%\\
93\\
94
95==== Inherited ====
96
97[[:develop:api:efl:io:closer:fd|Efl.Io.Closer.Fd]].**[[:develop:api:efl:io:closer:fd:property:closer_fd|closer_fd]]** //**(get, set)**// ''protected set''
98\\
99[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:fd:property:close_on_destructor|close_on_destructor]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:io:closer:fd|Efl.Io.Closer.Fd]]]//
100\\
101[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:fd:property:close_on_exec|close_on_exec]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:io:closer:fd|Efl.Io.Closer.Fd]]]//
102\\
103[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:net:socket:fd:method:close|close]]** //[Overridden here]//
104\\
105[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:net:socket:fd:property:closed|closed]]** //**(get, set)**// //[Overridden here]//
106\\
107[[:develop:api:efl:io:reader:fd|Efl.Io.Reader.Fd]].**[[:develop:api:efl:io:reader:fd:property:reader_fd|reader_fd]]** //**(get, set)**// ''protected set''
108\\
109[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:net:socket:fd:method:read|read]]** //[Overridden here]//
110\\
111[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:net:socket:fd:property:can_read|can_read]]** //**(get, set)**// //[Overridden here]// ''protected set''
112\\
113[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:net:socket:fd:property:eos|eos]]** //**(get, set)**// //[Overridden here]// ''protected set''
114\\
115[[:develop:api:efl:io:writer:fd|Efl.Io.Writer.Fd]].**[[:develop:api:efl:io:writer:fd:property:writer_fd|writer_fd]]** //**(get, set)**// ''protected set''
116\\
117[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:net:socket:fd:method:write|write]]** //[Overridden here]//
118\\
119[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:net:socket:fd:property:can_write|can_write]]** //**(get, set)**// //[Overridden here]// ''protected set''
120\\
121[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:loop:fd:property:fd_file|fd_file]]** //**(get, set)**//
122\\
123[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:net:socket:fd:property:fd|fd]]** //**(get, set)**// //[Overridden here]//
124\\
125[[:develop:api:efl:loop_user|Efl.Loop_User]].**[[:develop:api:efl:loop_user:property:loop|loop]]** //**(get)**//
126\\
127[[:develop:api:efl:net:socket|Efl.Net.Socket]].**[[:develop:api:efl:net:socket:fd:property:address_local|address_local]]** //**(get, set)**// //[Overridden here]// ''protected set''
128\\
129[[:develop:api:efl:net:socket|Efl.Net.Socket]].**[[:develop:api:efl:net:socket:fd:property:address_remote|address_remote]]** //**(get, set)**// //[Overridden here]// ''protected set''
130\\
131[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:loop:fd:property:parent|parent]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:loop:fd|Efl.Loop.Fd]]]//
132\\
133[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:net:socket:fd:method:constructor|constructor]]** //[Overridden here]//
134\\
135[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:net:socket:fd:method:destructor|destructor]]** //[Overridden here]//
136\\
137[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:net:socket:fd:method:finalize|finalize]]** //[Overridden here]//
138\\
139[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:children_iterator_new|children_iterator_new]]**
140\\
141[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_attach|composite_attach]]**
142\\
143[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_detach|composite_detach]]**
144\\
145[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_part_is|composite_part_is]]**
146\\
147[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:debug_name_override|debug_name_override]]**
148\\
149[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:del|del]]**
150\\
151[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_forwarder_add|event_callback_forwarder_add]]**
152\\
153[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_forwarder_del|event_callback_forwarder_del]]**
154\\
155[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_stop|event_callback_stop]]**
156\\
157[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_freeze|event_freeze]]**
158\\
159[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_global_freeze|event_global_freeze]]**
160\\
161[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_global_thaw|event_global_thaw]]**
162\\
163[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_thaw|event_thaw]]**
164\\
165[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:name_find|name_find]]**
166\\
167[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:provider_find|provider_find]]**
168\\
169[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:allow_parent_unref|allow_parent_unref]]** //**(get, set)**//
170\\
171[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:comment|comment]]** //**(get, set)**//
172\\
173[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:event_freeze_count|event_freeze_count]]** //**(get)**//
174\\
175[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:event_global_freeze_count|event_global_freeze_count]]** //**(get)**//
176\\
177[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:finalized|finalized]]** //**(get)**//
178\\
179[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:name|name]]** //**(get, set)**//
180\\
181
182===== Events =====
183
184==== Inherited ====
185
186[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:event:closed|closed]]**
187\\
188[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:event:closed|closed]]**
189\\
190[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:can_read_changed|can_read,changed]]**
191\\
192[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:can_read_changed|can_read,changed]]**
193\\
194[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:eos|eos]]**
195\\
196[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:eos|eos]]**
197\\
198[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:io:writer:event:can_write_changed|can_write,changed]]**
199\\
200[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:io:writer:event:can_write_changed|can_write,changed]]**
201\\
202[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:loop:fd:event:error|error]]**
203\\
204[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:loop:fd:event:read|read]]**
205\\
206[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:loop:fd:event:write|write]]**
207\\
208[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_add|callback,add]]**
209\\
210[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_add|callback,add]]**
211\\
212[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_del|callback,del]]**
213\\
214[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_del|callback,del]]**
215\\
216[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:del|del]]**
217\\
218[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:del|del]]**
219\\
diff --git a/pages/develop/api/efl/net/socket/fd/method/close.txt b/pages/develop/api/efl/net/socket/fd/method/close.txt
new file mode 100644
index 0000000..4fd08de
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd/method/close.txt
@@ -0,0 +1,30 @@
1~~Title: Efl.Net.Socket.Fd.close~~
2//Overridden from [[:develop:api:efl:io:closer:fd:method:close|Efl.Io.Closer.close]].//===== Signature =====
3
4<code>
5close @pure_virtual {
6 return: Eina.Error;
7}
8</code>
9
10===== C signature =====
11
12<code c>
13Eina_Error efl_io_closer_close(Eo *obj);
14</code>
15
16===== Description =====
17
18%%Closes the Input/Output object.%%
19
20%%This operation will be executed immediately and may or may not block the caller thread for some time. The details of blocking behavior is to be defined by the implementation and may be subject to other parameters such as non-blocking flags, maximum timeout or even retry attempts.%%
21
22%%You can understand this method as close(2) libc function.%%
23
24//Since 1.19//
25{{page>:develop:api-include:efl:net:socket:fd:method:close:description&nouser&nolink&nodate}}
26
27===== Implemented by =====
28
29 * [[:develop:api:efl:io:closer:method:close|Efl.Io.Closer.close]]
30
diff --git a/pages/develop/api/efl/net/socket/fd/method/constructor.txt b/pages/develop/api/efl/net/socket/fd/method/constructor.txt
new file mode 100644
index 0000000..854149e
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd/method/constructor.txt
@@ -0,0 +1,26 @@
1~~Title: Efl.Net.Socket.Fd.constructor~~
2//Overridden from [[:develop:api:efl:loop:fd:method:constructor|Efl.Object.constructor]].//===== Signature =====
3
4<code>
5constructor {
6 return: free(Efl.Object, efl_del);
7}
8</code>
9
10===== C signature =====
11
12<code c>
13Efl_Object *efl_constructor(Eo *obj);
14</code>
15
16===== Description =====
17
18%%Call the object's constructor.%%
19
20%%Should not be used with #eo_do. Only use it with #eo_do_super.%%
21{{page>:develop:api-include:efl:net:socket:fd:method:constructor:description&nouser&nolink&nodate}}
22
23===== Implemented by =====
24
25 * [[:develop:api:efl:object:method:constructor|Efl.Object.constructor]]
26
diff --git a/pages/develop/api/efl/net/socket/fd/method/destructor.txt b/pages/develop/api/efl/net/socket/fd/method/destructor.txt
new file mode 100644
index 0000000..d057015
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd/method/destructor.txt
@@ -0,0 +1,24 @@
1~~Title: Efl.Net.Socket.Fd.destructor~~
2//Overridden from [[:develop:api:efl:loop:fd:method:destructor|Efl.Object.destructor]].//===== Signature =====
3
4<code>
5destructor {}
6</code>
7
8===== C signature =====
9
10<code c>
11void efl_destructor(Eo *obj);
12</code>
13
14===== Description =====
15
16%%Call the object's destructor.%%
17
18%%Should not be used with #eo_do. Only use it with #eo_do_super.%%
19{{page>:develop:api-include:efl:net:socket:fd:method:destructor:description&nouser&nolink&nodate}}
20
21===== Implemented by =====
22
23 * [[:develop:api:efl:object:method:destructor|Efl.Object.destructor]]
24
diff --git a/pages/develop/api/efl/net/socket/fd/method/finalize.txt b/pages/develop/api/efl/net/socket/fd/method/finalize.txt
new file mode 100644
index 0000000..f3accf7
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd/method/finalize.txt
@@ -0,0 +1,24 @@
1~~Title: Efl.Net.Socket.Fd.finalize~~
2//Overridden from [[:develop:api:efl:object:method:finalize|Efl.Object.finalize]].//===== Signature =====
3
4<code>
5finalize {
6 return: free(Efl.Object, efl_del);
7}
8</code>
9
10===== C signature =====
11
12<code c>
13Efl_Object *efl_finalize(Eo *obj);
14</code>
15
16===== Description =====
17
18%%Called at the end of #eo_add. Should not be called, just overridden.%%
19{{page>:develop:api-include:efl:net:socket:fd:method:finalize:description&nouser&nolink&nodate}}
20
21===== Implemented by =====
22
23 * [[:develop:api:efl:object:method:finalize|Efl.Object.finalize]]
24
diff --git a/pages/develop/api/efl/net/socket/fd/method/read.txt b/pages/develop/api/efl/net/socket/fd/method/read.txt
new file mode 100644
index 0000000..867ae55
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd/method/read.txt
@@ -0,0 +1,37 @@
1~~Title: Efl.Net.Socket.Fd.read~~
2//Overridden from [[:develop:api:efl:io:reader:fd:method:read|Efl.Io.Reader.read]].//===== Signature =====
3
4<code>
5read @pure_virtual {
6 params {
7 @inout rw_slice: Eina.Rw_Slice @nonull;
8 }
9 return: Eina.Error;
10}
11</code>
12
13===== C signature =====
14
15<code c>
16Eina_Error efl_io_reader_read(Eo *obj, Eina_Rw_Slice rw_slice);
17</code>
18
19===== Parameters =====
20
21 * **rw_slice** //(inout)// - %%Provides a pre-allocated memory to be filled up to rw_slice.len. It will be populated and the length will be set to the actually used amount of bytes, which can be smaller than the request.%%
22
23===== Description =====
24
25%%Reads data into a pre-allocated buffer.%%
26
27%%This operation will be executed immediately and may or may not block the caller thread for some time. The details of blocking behavior is to be defined by the implementation and may be subject to other parameters such as non-blocking flags, maximum timeout or even retry attempts.%%
28
29%%You can understand this method as read(2) libc function.%%
30
31//Since 1.19//
32{{page>:develop:api-include:efl:net:socket:fd:method:read:description&nouser&nolink&nodate}}
33
34===== Implemented by =====
35
36 * [[:develop:api:efl:io:reader:method:read|Efl.Io.Reader.read]]
37
diff --git a/pages/develop/api/efl/net/socket/fd/method/write.txt b/pages/develop/api/efl/net/socket/fd/method/write.txt
new file mode 100644
index 0000000..25d1f27
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd/method/write.txt
@@ -0,0 +1,39 @@
1~~Title: Efl.Net.Socket.Fd.write~~
2//Overridden from [[:develop:api:efl:io:writer:fd:method:write|Efl.Io.Writer.write]].//===== Signature =====
3
4<code>
5write @pure_virtual {
6 params {
7 @inout slice: Eina.Slice @nonull;
8 @out remaining: Eina.Slice @optional;
9 }
10 return: Eina.Error;
11}
12</code>
13
14===== C signature =====
15
16<code c>
17Eina_Error efl_io_writer_write(Eo *obj, Eina_Slice slice, Eina_Slice *remaining);
18</code>
19
20===== Parameters =====
21
22 * **slice** //(inout)// - %%Provides a pre-populated memory to be used up to slice.len. The returned slice will be adapted as length will be set to the actually used amount of bytes, which can be smaller than the request.%%
23 * **remaining** //(out)// - %%Convenience to output the remaining parts of slice that was not written. If the full slice was written, this will be a slice of zero-length.%%
24
25===== Description =====
26
27%%Writes data from a pre-populated buffer.%%
28
29%%This operation will be executed immediately and may or may not block the caller thread for some time. The details of blocking behavior is to be defined by the implementation and may be subject to other parameters such as non-blocking flags, maximum timeout or even retry attempts.%%
30
31%%You can understand this method as write(2) libc function.%%
32
33//Since 1.19//
34{{page>:develop:api-include:efl:net:socket:fd:method:write:description&nouser&nolink&nodate}}
35
36===== Implemented by =====
37
38 * [[:develop:api:efl:io:writer:method:write|Efl.Io.Writer.write]]
39
diff --git a/pages/develop/api/efl/net/socket/fd/property/address_local.txt b/pages/develop/api/efl/net/socket/fd/property/address_local.txt
new file mode 100644
index 0000000..0ae21ca
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd/property/address_local.txt
@@ -0,0 +1,44 @@
1~~Title: Efl.Net.Socket.Fd.address_local~~
2//Overridden from [[:develop:api:efl:net:socket:property:address_local|Efl.Net.Socket.address_local]] **(get, set)**.//===== Signature =====
3
4<code>
5@property address_local @pure_virtual {
6 get {
7 values {
8 address: free(string, free);
9 }
10 }
11 set @protected {
12 values {
13 address: free(string, free);
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22const char *efl_net_socket_address_local_get(const Eo *obj);
23void efl_net_socket_address_local_set(Eo *obj, const char *address);
24</code>
25
26===== Values =====
27
28 * **address** - %%Local address%%
29===== Description =====
30
31%%The local address, similar to getsockname().%%
32
33%%The actual value depends on the type of socket, like an IPv4 (ip:port) or IPv6 ([ip]:port) formatted for a TCP/UDP socket, the path if an Unix Local...%%
34
35%%It's always resolved, then if operations are working with domain names or URL, this is the values the kernel reports. It's similar to getsockname() in behavior.%%
36
37//Since 1.19//
38{{page>:develop:api-include:efl:net:socket:fd:property:address_local:description&nouser&nolink&nodate}}
39
40
41===== Implemented by =====
42
43 * [[:develop:api:efl:net:socket:property:address_local|Efl.Net.Socket.address_local]]
44
diff --git a/pages/develop/api/efl/net/socket/fd/property/address_remote.txt b/pages/develop/api/efl/net/socket/fd/property/address_remote.txt
new file mode 100644
index 0000000..2e48b18
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd/property/address_remote.txt
@@ -0,0 +1,44 @@
1~~Title: Efl.Net.Socket.Fd.address_remote~~
2//Overridden from [[:develop:api:efl:net:socket:property:address_remote|Efl.Net.Socket.address_remote]] **(get, set)**.//===== Signature =====
3
4<code>
5@property address_remote @pure_virtual {
6 get {
7 values {
8 address: free(string, free);
9 }
10 }
11 set @protected {
12 values {
13 address: free(string, free);
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22const char *efl_net_socket_address_remote_get(const Eo *obj);
23void efl_net_socket_address_remote_set(Eo *obj, const char *address);
24</code>
25
26===== Values =====
27
28 * **address** - %%Remote address%%
29===== Description =====
30
31%%The remote address, similar to getpeername().%%
32
33%%The actual value depends on the type of socket, like an IPv4 (ip:port) or IPv6 ([ip]:port) formatted for a TCP/UDP socket, the path if an Unix Local...%%
34
35%%It's always resolved, then if operations are working with domain names or URL, this is the values the kernel reports. It's similar to getpeername() in behavior.%%
36
37//Since 1.19//
38{{page>:develop:api-include:efl:net:socket:fd:property:address_remote:description&nouser&nolink&nodate}}
39
40
41===== Implemented by =====
42
43 * [[:develop:api:efl:net:socket:property:address_remote|Efl.Net.Socket.address_remote]]
44
diff --git a/pages/develop/api/efl/net/socket/fd/property/can_read.txt b/pages/develop/api/efl/net/socket/fd/property/can_read.txt
new file mode 100644
index 0000000..63e6b80
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd/property/can_read.txt
@@ -0,0 +1,40 @@
1~~Title: Efl.Net.Socket.Fd.can_read~~
2//Overridden from [[:develop:api:efl:io:reader:fd:property:can_read|Efl.Io.Reader.can_read]] **(set)**.//===== Signature =====
3
4<code>
5@property can_read @pure_virtual {
6 get {
7 values {
8 can_read: bool;
9 }
10 }
11 set @protected {
12 values {
13 can_read: bool;
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22Eina_Bool efl_io_reader_can_read_get(const Eo *obj);
23void efl_io_reader_can_read_set(Eo *obj, Eina_Bool can_read);
24</code>
25
26===== Values =====
27
28 * **can_read** - %%%%''true''%% if it can be read without blocking or failing, %%''false''%% otherwise%%
29===== Description =====
30
31%%If %%''true''%% will notify %%[[:develop:api:interface:efl:io:reader:method:read|Efl.Io.Reader.read]]%% can be called without blocking or failing.%%
32
33//Since 1.19//
34{{page>:develop:api-include:efl:net:socket:fd:property:can_read:description&nouser&nolink&nodate}}
35
36
37===== Implemented by =====
38
39 * [[:develop:api:efl:io:reader:property:can_read|Efl.Io.Reader.can_read]]
40
diff --git a/pages/develop/api/efl/net/socket/fd/property/can_write.txt b/pages/develop/api/efl/net/socket/fd/property/can_write.txt
new file mode 100644
index 0000000..d0e379c
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd/property/can_write.txt
@@ -0,0 +1,40 @@
1~~Title: Efl.Net.Socket.Fd.can_write~~
2//Overridden from [[:develop:api:efl:io:writer:fd:property:can_write|Efl.Io.Writer.can_write]] **(set)**.//===== Signature =====
3
4<code>
5@property can_write @pure_virtual {
6 get {
7 values {
8 can_write: bool;
9 }
10 }
11 set @protected {
12 values {
13 can_write: bool;
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22Eina_Bool efl_io_writer_can_write_get(const Eo *obj);
23void efl_io_writer_can_write_set(Eo *obj, Eina_Bool can_write);
24</code>
25
26===== Values =====
27
28 * **can_write** - %%%%''true''%% if it can be written without blocking or failure, %%''false''%% otherwise%%
29===== Description =====
30
31%%If %%''true''%% will notify %%[[:develop:api:interface:efl:io:writer:method:write|Efl.Io.Writer.write]]%% can be called without blocking or failing.%%
32
33//Since 1.19//
34{{page>:develop:api-include:efl:net:socket:fd:property:can_write:description&nouser&nolink&nodate}}
35
36
37===== Implemented by =====
38
39 * [[:develop:api:efl:io:writer:property:can_write|Efl.Io.Writer.can_write]]
40
diff --git a/pages/develop/api/efl/net/socket/fd/property/closed.txt b/pages/develop/api/efl/net/socket/fd/property/closed.txt
new file mode 100644
index 0000000..d2bd52d
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd/property/closed.txt
@@ -0,0 +1,50 @@
1~~Title: Efl.Net.Socket.Fd.closed~~
2//Overridden from [[:develop:api:efl:io:closer:fd:property:closed|Efl.Io.Closer.closed]] **(get)**.//===== Signature =====
3
4<code>
5@property closed {
6 get {
7 values {
8 is_closed: bool;
9 }
10 }
11 set {
12 values {
13 is_closed: bool;
14 }
15 return: bool;
16 }
17}
18</code>
19
20===== C signature =====
21
22<code c>
23Eina_Bool efl_io_closer_closed_get(const Eo *obj);
24Eina_Bool efl_io_closer_closed_set(Eo *obj, Eina_Bool is_closed);
25</code>
26
27===== Values =====
28
29 * **is_closed** - %%%%''true''%% if closed, %%''false''%% otherwise%%
30===== Description =====
31
32%%If true will notify object was closed.%%
33
34//Since 1.19//
35
36
37{{page>:develop:api-include:efl:net:socket:fd:property:closed:description&nouser&nolink&nodate}}
38
39==== Setter ====
40
41%%If true, calls close()%%
42
43//Since 1.19//
44{{page>:develop:api-include:efl:net:socket:fd:property:closed:getter_description&nouser&nolink&nodate}}
45
46
47===== Implemented by =====
48
49 * [[:develop:api:efl:io:closer:property:closed|Efl.Io.Closer.closed]]
50
diff --git a/pages/develop/api/efl/net/socket/fd/property/eos.txt b/pages/develop/api/efl/net/socket/fd/property/eos.txt
new file mode 100644
index 0000000..878119d
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd/property/eos.txt
@@ -0,0 +1,40 @@
1~~Title: Efl.Net.Socket.Fd.eos~~
2//Overridden from [[:develop:api:efl:io:reader:fd:property:eos|Efl.Io.Reader.eos]] **(set)**.//===== Signature =====
3
4<code>
5@property eos @pure_virtual {
6 get {
7 values {
8 is_eos: bool;
9 }
10 }
11 set @protected {
12 values {
13 is_eos: bool;
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22Eina_Bool efl_io_reader_eos_get(const Eo *obj);
23void efl_io_reader_eos_set(Eo *obj, Eina_Bool is_eos);
24</code>
25
26===== Values =====
27
28 * **is_eos** - %%%%''true''%% if end of stream, %%''false''%% otherwise%%
29===== Description =====
30
31%%If %%''true''%% will notify end of stream.%%
32
33//Since 1.19//
34{{page>:develop:api-include:efl:net:socket:fd:property:eos:description&nouser&nolink&nodate}}
35
36
37===== Implemented by =====
38
39 * [[:develop:api:efl:io:reader:property:eos|Efl.Io.Reader.eos]]
40
diff --git a/pages/develop/api/efl/net/socket/fd/property/family.txt b/pages/develop/api/efl/net/socket/fd/property/family.txt
new file mode 100644
index 0000000..f78c19d
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd/property/family.txt
@@ -0,0 +1,44 @@
1~~Title: Efl.Net.Socket.Fd.family~~
2===== Signature =====
3
4<code>
5@property family {
6 get {
7 values {
8 family: int;
9 }
10 }
11 set @protected {
12 values {
13 family: int;
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22int efl_net_socket_fd_family_get(const Eo *obj);
23void efl_net_socket_fd_family_set(Eo *obj, int family);
24</code>
25
26===== Values =====
27
28 * **family** - %%Address family%%
29===== Description =====
30
31%%The address family (AF_*) family of this socket.%%
32
33%%It will be one of AF_INET (IPv4), AF_INET6 (IPv6), AF_UNIX...%%
34
35%%It must be set before the %%[[:develop:api:class:efl:loop:fd:property:fd|Efl.Loop.Fd.fd.set]]%% is called with a valid file descriptor.%%
36
37//Since 1.19//
38{{page>:develop:api-include:efl:net:socket:fd:property:family:description&nouser&nolink&nodate}}
39
40
41===== Implemented by =====
42
43 * **Efl.Net.Socket.Fd.family**
44
diff --git a/pages/develop/api/efl/net/socket/fd/property/fd.txt b/pages/develop/api/efl/net/socket/fd/property/fd.txt
new file mode 100644
index 0000000..9155d21
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/fd/property/fd.txt
@@ -0,0 +1,45 @@
1~~Title: Efl.Net.Socket.Fd.fd~~
2//Overridden from [[:develop:api:efl:loop:fd:property:fd|Efl.Loop.Fd.fd]] **(set)**.//===== Signature =====
3
4<code>
5@property fd {
6 get {
7 values {
8 fd: int;
9 }
10 }
11 set {
12 values {
13 fd: int;
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22int efl_loop_fd_get(const Eo *obj);
23void efl_loop_fd_set(Eo *obj, int fd);
24</code>
25
26===== Values =====
27
28 * **fd** - %%The file descriptor.%%
29===== Description =====
30
31%%Defines which file descriptor to watch. If it is a file, use file_fd variant.%%
32
33
34{{page>:develop:api-include:efl:net:socket:fd:property:fd:description&nouser&nolink&nodate}}
35
36==== Setter ====
37
38%%Defines the fd to watch on.%%
39{{page>:develop:api-include:efl:net:socket:fd:property:fd:getter_description&nouser&nolink&nodate}}
40
41
42===== Implemented by =====
43
44 * [[:develop:api:efl:loop:fd:property:fd|Efl.Loop.Fd.fd]]
45
diff --git a/pages/develop/api/efl/net/socket/property/address_local.txt b/pages/develop/api/efl/net/socket/property/address_local.txt
new file mode 100644
index 0000000..ebbf288
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/property/address_local.txt
@@ -0,0 +1,44 @@
1~~Title: Efl.Net.Socket.address_local~~
2===== Signature =====
3
4<code>
5@property address_local @pure_virtual {
6 get {
7 values {
8 address: free(string, free);
9 }
10 }
11 set @protected {
12 values {
13 address: free(string, free);
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22const char *efl_net_socket_address_local_get(const Eo *obj);
23void efl_net_socket_address_local_set(Eo *obj, const char *address);
24</code>
25
26===== Values =====
27
28 * **address** - %%Local address%%
29===== Description =====
30
31%%The local address, similar to getsockname().%%
32
33%%The actual value depends on the type of socket, like an IPv4 (ip:port) or IPv6 ([ip]:port) formatted for a TCP/UDP socket, the path if an Unix Local...%%
34
35%%It's always resolved, then if operations are working with domain names or URL, this is the values the kernel reports. It's similar to getsockname() in behavior.%%
36
37//Since 1.19//
38{{page>:develop:api-include:efl:net:socket:property:address_local:description&nouser&nolink&nodate}}
39
40
41===== Implemented by =====
42
43 * **Efl.Net.Socket.address_local**
44
diff --git a/pages/develop/api/efl/net/socket/property/address_remote.txt b/pages/develop/api/efl/net/socket/property/address_remote.txt
new file mode 100644
index 0000000..eb9d7d3
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/property/address_remote.txt
@@ -0,0 +1,44 @@
1~~Title: Efl.Net.Socket.address_remote~~
2===== Signature =====
3
4<code>
5@property address_remote @pure_virtual {
6 get {
7 values {
8 address: free(string, free);
9 }
10 }
11 set @protected {
12 values {
13 address: free(string, free);
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22const char *efl_net_socket_address_remote_get(const Eo *obj);
23void efl_net_socket_address_remote_set(Eo *obj, const char *address);
24</code>
25
26===== Values =====
27
28 * **address** - %%Remote address%%
29===== Description =====
30
31%%The remote address, similar to getpeername().%%
32
33%%The actual value depends on the type of socket, like an IPv4 (ip:port) or IPv6 ([ip]:port) formatted for a TCP/UDP socket, the path if an Unix Local...%%
34
35%%It's always resolved, then if operations are working with domain names or URL, this is the values the kernel reports. It's similar to getpeername() in behavior.%%
36
37//Since 1.19//
38{{page>:develop:api-include:efl:net:socket:property:address_remote:description&nouser&nolink&nodate}}
39
40
41===== Implemented by =====
42
43 * **Efl.Net.Socket.address_remote**
44
diff --git a/pages/develop/api/efl/net/socket/simple.txt b/pages/develop/api/efl/net/socket/simple.txt
new file mode 100644
index 0000000..cff4d21
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/simple.txt
@@ -0,0 +1,224 @@
1~~Title: Efl.Net.Socket.Simple~~
2====== Efl.Net.Socket.Simple (class) ======
3
4===== Description =====
5
6%%A wrapper socket offering an easy to use, buffered I/O.%%
7
8%%The simple socket encapsulates an actual %%[[:develop:api:interface:efl:net:socket|Efl.Net.Socket]]%%, and uses it with an %%[[:develop:api:class:efl:io:buffered_stream|Efl.Io.Buffered_Stream]]%%, which creates an input %%[[:develop:api:class:efl:io:queue|Efl.Io.Queue]]%%, an output %%[[:develop:api:class:efl:io:queue|Efl.Io.Queue]]%% and these are linked using a receiver and a sender %%[[:develop:api:class:efl:io:copier|Efl.Io.Copier]]%%.%%
9
10%%The idea is that unlike traditional %%[[:develop:api:interface:efl:net:socket|Efl.Net.Socket]]%% that will attempt to write directly to socket and thus may take less data than requested, this one will keep the pending data in its own buffer, feeding to the actual socket when it %%[[:develop:api:interface:efl:io:writer:property:can_write|Efl.Io.Writer.can_write]]%%. That makes its operation much simpler as %%[[:develop:api:interface:efl:io:writer:method:write|Efl.Io.Writer.write]]%% will always take the full data -- allows "write and forget", if unlimited (see %%[[:develop:api:class:efl:io:buffered_stream:property:max_queue_size_output|Efl.Io.Buffered_Stream.max_queue_size_output]]%%).%%
11
12%%Reading is also much simpler since received data is kept in an %%[[:develop:api:class:efl:io:queue|Efl.Io.Queue]]%%, thus its size can be queried with %%[[:develop:api:class:efl:io:buffered_stream:property:pending_read|Efl.Io.Buffered_Stream.pending_read]]%% and read with %%[[:develop:api:interface:efl:io:reader:method:read|Efl.Io.Reader.read]]%% or peeked with %%[[:develop:api:class:efl:io:buffered_stream:property:slice|Efl.Io.Buffered_Stream.slice]]%%, then discarded with %%[[:develop:api:class:efl:io:buffered_stream:method:discard|Efl.Io.Buffered_Stream.discard]]%% or %%[[:develop:api:class:efl:io:buffered_stream:method:clear|Efl.Io.Buffered_Stream.clear]]%%.%%
13
14%%Then when waiting for a complete message, just peek at its contents, if not complete do nothing, if complete then either %%[[:develop:api:interface:efl:io:reader:method:read|Efl.Io.Reader.read]]%% to get a copy or manipulate a read-only reference from %%[[:develop:api:class:efl:io:buffered_stream:property:slice|Efl.Io.Buffered_Stream.slice]]%% and then %%[[:develop:api:class:efl:io:buffered_stream:method:discard|Efl.Io.Buffered_Stream.discard]]%%%%
15
16%%The actual socket is set with the constructor method %%[[:develop:api:class:efl:io:buffered_stream:property:inner_io|Efl.Io.Buffered_Stream.inner_io.set]]%% and can be retrieved with %%[[:develop:api:class:efl:io:buffered_stream:property:inner_io|Efl.Io.Buffered_Stream.inner_io.get]]%%, which should be used with care.%%
17
18//Since 1.19//
19
20{{page>:develop:api-include:efl:net:socket:simple:description&nouser&nolink&nodate}}
21
22===== Inheritance =====
23
24 => [[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]] //(class)// => [[:develop:api:efl:loop_user|Efl.Loop_User]] //(class)// => [[:develop:api:efl:object|Efl.Object]] //(class)//
25++++ Inheritance graph |
26
27<graphviz>
28digraph hierarchy {
29 bgcolor = "transparent"
30 size = "6"
31 rankdir = "TB"
32
33 node [shape = "box"]
34 edge [color = "gray35"]
35
36 efl_net_socket_simple [fillcolor = "black", label = "Efl.Net.Socket.Simple", color = "gray15", fontcolor = "white", style = "filled"]
37 efl_io_buffered_stream [fillcolor = "gray15", label = "Efl.Io.Buffered_Stream", color = "gray15", fontcolor = "white", style = "filled"]
38 efl_loop_user [fillcolor = "gray15", label = "Efl.Loop_User", color = "gray15", fontcolor = "white", style = "filled"]
39 efl_object [fillcolor = "gray15", label = "Efl.Object", color = "gray15", fontcolor = "white", style = "filled"]
40 efl_io_reader [fillcolor = "gray15", label = "Efl.Io.Reader", color = "cornflowerblue", fontcolor = "white", style = "filled"]
41 efl_io_writer [fillcolor = "gray15", label = "Efl.Io.Writer", color = "cornflowerblue", fontcolor = "white", style = "filled"]
42 efl_io_closer [fillcolor = "gray15", label = "Efl.Io.Closer", color = "deepskyblue", fontcolor = "white", style = "filled"]
43 efl_net_socket [fillcolor = "gray15", label = "Efl.Net.Socket", color = "cornflowerblue", fontcolor = "white", style = "filled"]
44 efl_io_reader [fillcolor = "gray15", label = "Efl.Io.Reader", color = "cornflowerblue", fontcolor = "white", style = "filled"]
45 efl_io_writer [fillcolor = "gray15", label = "Efl.Io.Writer", color = "cornflowerblue", fontcolor = "white", style = "filled"]
46 efl_io_closer [fillcolor = "gray15", label = "Efl.Io.Closer", color = "deepskyblue", fontcolor = "white", style = "filled"]
47
48 efl_net_socket_simple -> efl_io_buffered_stream
49 efl_io_buffered_stream -> efl_loop_user
50 efl_loop_user -> efl_object
51 efl_io_buffered_stream -> efl_io_reader
52 efl_io_buffered_stream -> efl_io_writer
53 efl_io_buffered_stream -> efl_io_closer
54 efl_net_socket_simple -> efl_net_socket
55 efl_net_socket -> efl_io_reader
56 efl_net_socket -> efl_io_writer
57 efl_net_socket -> efl_io_closer
58}
59</graphviz>
60
61++++
62
63++++ Full hierarchy |
64
65 * [[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]] //(class)//
66 * [[:develop:api:efl:loop_user|Efl.Loop_User]] //(class)//
67 * [[:develop:api:efl:object|Efl.Object]] //(class)//
68 * [[:develop:api:efl:io:reader|Efl.Io.Reader]] //(interface)//
69 * [[:develop:api:efl:io:writer|Efl.Io.Writer]] //(interface)//
70 * [[:develop:api:efl:io:closer|Efl.Io.Closer]] //(mixin)//
71 * [[:develop:api:efl:net:socket|Efl.Net.Socket]] //(interface)//
72 * [[:develop:api:efl:io:reader|Efl.Io.Reader]] //(interface)//
73 * [[:develop:api:efl:io:writer|Efl.Io.Writer]] //(interface)//
74 * [[:develop:api:efl:io:closer|Efl.Io.Closer]] //(mixin)//
75
76
77++++
78===== Members =====
79
80==== Inherited ====
81
82[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:method:clear|clear]]**
83\\
84[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:method:discard|discard]]**
85\\
86[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:method:eos_mark|eos_mark]]**
87\\
88[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:method:flush|flush]]**
89\\
90[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:property:line_delimiter|line_delimiter]]** //**(get, set)**//
91\\
92[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:property:max_queue_size_input|max_queue_size_input]]** //**(get, set)**//
93\\
94[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:property:max_queue_size_output|max_queue_size_output]]** //**(get, set)**//
95\\
96[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:property:pending_read|pending_read]]** //**(get)**//
97\\
98[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:property:pending_write|pending_write]]** //**(get)**//
99\\
100[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:property:progress|progress]]** //**(get)**//
101\\
102[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:property:read_chunk_size|read_chunk_size]]** //**(get, set)**//
103\\
104[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:property:slice|slice]]** //**(get)**//
105\\
106[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:property:timeout_inactivity|timeout_inactivity]]** //**(get, set)**//
107\\
108[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:net:socket:simple:property:inner_io|inner_io]]** //**(get, set)**// //[Overridden here]//
109\\
110[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:buffered_stream:method:close|close]]** //[Overridden in [[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]]]//
111\\
112[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:buffered_stream:property:close_on_destructor|close_on_destructor]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]]]//
113\\
114[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:buffered_stream:property:close_on_exec|close_on_exec]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]]]//
115\\
116[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:buffered_stream:property:closed|closed]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]]]//
117\\
118[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:buffered_stream:method:read|read]]** //[Overridden in [[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]]]//
119\\
120[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:buffered_stream:property:can_read|can_read]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]]]// ''protected set''
121\\
122[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:buffered_stream:property:eos|eos]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]]]// ''protected set''
123\\
124[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:io:buffered_stream:method:write|write]]** //[Overridden in [[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]]]//
125\\
126[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:io:buffered_stream:property:can_write|can_write]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]]]// ''protected set''
127\\
128[[:develop:api:efl:loop_user|Efl.Loop_User]].**[[:develop:api:efl:loop_user:property:loop|loop]]** //**(get)**//
129\\
130[[:develop:api:efl:net:socket|Efl.Net.Socket]].**[[:develop:api:efl:net:socket:simple:property:address_local|address_local]]** //**(get, set)**// //[Overridden here]// ''protected set''
131\\
132[[:develop:api:efl:net:socket|Efl.Net.Socket]].**[[:develop:api:efl:net:socket:simple:property:address_remote|address_remote]]** //**(get, set)**// //[Overridden here]// ''protected set''
133\\
134[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:io:buffered_stream:method:destructor|destructor]]** //[Overridden in [[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]]]//
135\\
136[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:io:buffered_stream:method:finalize|finalize]]** //[Overridden in [[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]]]//
137\\
138[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:loop_user:property:parent|parent]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:loop_user|Efl.Loop_User]]]//
139\\
140[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:children_iterator_new|children_iterator_new]]**
141\\
142[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_attach|composite_attach]]**
143\\
144[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_detach|composite_detach]]**
145\\
146[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_part_is|composite_part_is]]**
147\\
148[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:constructor|constructor]]**
149\\
150[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:debug_name_override|debug_name_override]]**
151\\
152[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:del|del]]**
153\\
154[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_forwarder_add|event_callback_forwarder_add]]**
155\\
156[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_forwarder_del|event_callback_forwarder_del]]**
157\\
158[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_stop|event_callback_stop]]**
159\\
160[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_freeze|event_freeze]]**
161\\
162[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_global_freeze|event_global_freeze]]**
163\\
164[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_global_thaw|event_global_thaw]]**
165\\
166[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_thaw|event_thaw]]**
167\\
168[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:name_find|name_find]]**
169\\
170[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:provider_find|provider_find]]**
171\\
172[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:allow_parent_unref|allow_parent_unref]]** //**(get, set)**//
173\\
174[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:comment|comment]]** //**(get, set)**//
175\\
176[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:event_freeze_count|event_freeze_count]]** //**(get)**//
177\\
178[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:event_global_freeze_count|event_global_freeze_count]]** //**(get)**//
179\\
180[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:finalized|finalized]]** //**(get)**//
181\\
182[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:name|name]]** //**(get, set)**//
183\\
184
185===== Events =====
186
187==== Inherited ====
188
189[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:event:error|error]]**
190\\
191[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:event:finished|finished]]**
192\\
193[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:event:line|line]]**
194\\
195[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:event:progress|progress]]**
196\\
197[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:event:read_finished|read,finished]]**
198\\
199[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:event:slice_changed|slice,changed]]**
200\\
201[[:develop:api:efl:io:buffered_stream|Efl.Io.Buffered_Stream]].**[[:develop:api:efl:io:buffered_stream:event:write_finished|write,finished]]**
202\\
203[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:event:closed|closed]]**
204\\
205[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:event:closed|closed]]**
206\\
207[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:can_read_changed|can_read,changed]]**
208\\
209[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:can_read_changed|can_read,changed]]**
210\\
211[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:eos|eos]]**
212\\
213[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:eos|eos]]**
214\\
215[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:io:writer:event:can_write_changed|can_write,changed]]**
216\\
217[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:io:writer:event:can_write_changed|can_write,changed]]**
218\\
219[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_add|callback,add]]**
220\\
221[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_del|callback,del]]**
222\\
223[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:del|del]]**
224\\
diff --git a/pages/develop/api/efl/net/socket/simple/property/address_local.txt b/pages/develop/api/efl/net/socket/simple/property/address_local.txt
new file mode 100644
index 0000000..9d5a67f
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/simple/property/address_local.txt
@@ -0,0 +1,44 @@
1~~Title: Efl.Net.Socket.Simple.address_local~~
2//Overridden from [[:develop:api:efl:net:socket:property:address_local|Efl.Net.Socket.address_local]] **(get)**.//===== Signature =====
3
4<code>
5@property address_local @pure_virtual {
6 get {
7 values {
8 address: free(string, free);
9 }
10 }
11 set @protected {
12 values {
13 address: free(string, free);
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22const char *efl_net_socket_address_local_get(const Eo *obj);
23void efl_net_socket_address_local_set(Eo *obj, const char *address);
24</code>
25
26===== Values =====
27
28 * **address** - %%Local address%%
29===== Description =====
30
31%%The local address, similar to getsockname().%%
32
33%%The actual value depends on the type of socket, like an IPv4 (ip:port) or IPv6 ([ip]:port) formatted for a TCP/UDP socket, the path if an Unix Local...%%
34
35%%It's always resolved, then if operations are working with domain names or URL, this is the values the kernel reports. It's similar to getsockname() in behavior.%%
36
37//Since 1.19//
38{{page>:develop:api-include:efl:net:socket:simple:property:address_local:description&nouser&nolink&nodate}}
39
40
41===== Implemented by =====
42
43 * [[:develop:api:efl:net:socket:property:address_local|Efl.Net.Socket.address_local]]
44
diff --git a/pages/develop/api/efl/net/socket/simple/property/address_remote.txt b/pages/develop/api/efl/net/socket/simple/property/address_remote.txt
new file mode 100644
index 0000000..d145635
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/simple/property/address_remote.txt
@@ -0,0 +1,44 @@
1~~Title: Efl.Net.Socket.Simple.address_remote~~
2//Overridden from [[:develop:api:efl:net:socket:property:address_remote|Efl.Net.Socket.address_remote]] **(get)**.//===== Signature =====
3
4<code>
5@property address_remote @pure_virtual {
6 get {
7 values {
8 address: free(string, free);
9 }
10 }
11 set @protected {
12 values {
13 address: free(string, free);
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22const char *efl_net_socket_address_remote_get(const Eo *obj);
23void efl_net_socket_address_remote_set(Eo *obj, const char *address);
24</code>
25
26===== Values =====
27
28 * **address** - %%Remote address%%
29===== Description =====
30
31%%The remote address, similar to getpeername().%%
32
33%%The actual value depends on the type of socket, like an IPv4 (ip:port) or IPv6 ([ip]:port) formatted for a TCP/UDP socket, the path if an Unix Local...%%
34
35%%It's always resolved, then if operations are working with domain names or URL, this is the values the kernel reports. It's similar to getpeername() in behavior.%%
36
37//Since 1.19//
38{{page>:develop:api-include:efl:net:socket:simple:property:address_remote:description&nouser&nolink&nodate}}
39
40
41===== Implemented by =====
42
43 * [[:develop:api:efl:net:socket:property:address_remote|Efl.Net.Socket.address_remote]]
44
diff --git a/pages/develop/api/efl/net/socket/simple/property/inner_io.txt b/pages/develop/api/efl/net/socket/simple/property/inner_io.txt
new file mode 100644
index 0000000..f5b73b7
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/simple/property/inner_io.txt
@@ -0,0 +1,58 @@
1~~Title: Efl.Net.Socket.Simple.inner_io~~
2//Overridden from [[:develop:api:efl:io:buffered_stream:property:inner_io|Efl.Io.Buffered_Stream.inner_io]] **(set)**.//===== Signature =====
3
4<code>
5@property inner_io {
6 get {
7 values {
8 io: free(Efl.Object, efl_del);
9 }
10 }
11 set {
12 values {
13 io: free(Efl.Object, efl_del);
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22Efl_Object *efl_io_buffered_stream_inner_io_get(const Eo *obj);
23void efl_io_buffered_stream_inner_io_set(Eo *obj, Efl_Object *io);
24</code>
25
26===== Values =====
27
28 * **io** - %%The input (%%[[:develop:api:interface:efl:io:reader|Efl.Io.Reader]]%%) or output (%%[[:develop:api:interface:efl:io:writer|Efl.Io.Writer]]%%) instance%%
29===== Description =====
30
31%%The inner I/O this wrapper operates on.%%
32
33//Since 1.19//
34
35
36{{page>:develop:api-include:efl:net:socket:simple:property:inner_io:description&nouser&nolink&nodate}}
37
38==== Getter ====
39
40%%The internal input/output used for actual operations, use with care!%%
41
42//Since 1.19//
43
44
45{{page>:develop:api-include:efl:net:socket:simple:property:inner_io:getter_description&nouser&nolink&nodate}}
46
47==== Setter ====
48
49%%Constructor-only property to set the inner_io.%%
50
51//Since 1.19//
52{{page>:develop:api-include:efl:net:socket:simple:property:inner_io:getter_description&nouser&nolink&nodate}}
53
54
55===== Implemented by =====
56
57 * [[:develop:api:efl:io:buffered_stream:property:inner_io|Efl.Io.Buffered_Stream.inner_io]]
58
diff --git a/pages/develop/api/efl/net/socket/ssl.txt b/pages/develop/api/efl/net/socket/ssl.txt
new file mode 100644
index 0000000..01addea
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl.txt
@@ -0,0 +1,207 @@
1~~Title: Efl.Net.Socket.Ssl~~
2====== Efl.Net.Socket.Ssl (class) ======
3
4===== Description =====
5
6%%A wrapper socket doing SSL (Secure Sockets Layer).%%
7
8%%Use this wrapper around an existing socket to do secure communication, a common use is to apply it to TCP sockets created with %%[[:develop:api:class:efl:net:dialer:tcp|Efl.Net.Dialer.Tcp]]%% or %%[[:develop:api:class:efl:net:server:tcp|Efl.Net.Server.Tcp]]%% created with "client,add" event.%%
9
10//Since 1.19//
11
12{{page>:develop:api-include:efl:net:socket:ssl:description&nouser&nolink&nodate}}
13
14===== Inheritance =====
15
16 => [[:develop:api:efl:loop_user|Efl.Loop_User]] //(class)// => [[:develop:api:efl:object|Efl.Object]] //(class)//
17++++ Inheritance graph |
18
19<graphviz>
20digraph hierarchy {
21 bgcolor = "transparent"
22 size = "6"
23 rankdir = "TB"
24
25 node [shape = "box"]
26 edge [color = "gray35"]
27
28 efl_net_socket_ssl [fillcolor = "black", label = "Efl.Net.Socket.Ssl", color = "gray15", fontcolor = "white", style = "filled"]
29 efl_loop_user [fillcolor = "gray15", label = "Efl.Loop_User", color = "gray15", fontcolor = "white", style = "filled"]
30 efl_object [fillcolor = "gray15", label = "Efl.Object", color = "gray15", fontcolor = "white", style = "filled"]
31 efl_net_socket [fillcolor = "gray15", label = "Efl.Net.Socket", color = "cornflowerblue", fontcolor = "white", style = "filled"]
32 efl_io_reader [fillcolor = "gray15", label = "Efl.Io.Reader", color = "cornflowerblue", fontcolor = "white", style = "filled"]
33 efl_io_writer [fillcolor = "gray15", label = "Efl.Io.Writer", color = "cornflowerblue", fontcolor = "white", style = "filled"]
34 efl_io_closer [fillcolor = "gray15", label = "Efl.Io.Closer", color = "deepskyblue", fontcolor = "white", style = "filled"]
35
36 efl_net_socket_ssl -> efl_loop_user
37 efl_loop_user -> efl_object
38 efl_net_socket_ssl -> efl_net_socket
39 efl_net_socket -> efl_io_reader
40 efl_net_socket -> efl_io_writer
41 efl_net_socket -> efl_io_closer
42}
43</graphviz>
44
45++++
46
47++++ Full hierarchy |
48
49 * [[:develop:api:efl:loop_user|Efl.Loop_User]] //(class)//
50 * [[:develop:api:efl:object|Efl.Object]] //(class)//
51 * [[:develop:api:efl:net:socket|Efl.Net.Socket]] //(interface)//
52 * [[:develop:api:efl:io:reader|Efl.Io.Reader]] //(interface)//
53 * [[:develop:api:efl:io:writer|Efl.Io.Writer]] //(interface)//
54 * [[:develop:api:efl:io:closer|Efl.Io.Closer]] //(mixin)//
55
56
57++++
58===== Members =====
59
60**[[:develop:api:efl:net:socket:ssl:method:adopt|adopt]]**
61<code c>
62void efl_net_socket_ssl_adopt(Eo *obj, Efl_Net_Socket *efl_net_socket, Efl_Net_Ssl_Context *ctx);
63</code>
64
65%%Adopt an Efl.Net.Dialer or regular Efl.Net.Socket that will be used for the actual communication.%%\\
66\\
67**[[:develop:api:efl:net:socket:ssl:property:hostname_override|hostname_override]]** //**(get, set)**//
68<code c>
69const char *efl_net_socket_ssl_hostname_override_get(const Eo *obj);
70void efl_net_socket_ssl_hostname_override_set(Eo *obj, const char *hostname_override);
71</code>
72
73%%Overrides the hostname to use for this socket.%%\\
74\\
75**[[:develop:api:efl:net:socket:ssl:property:hostname_verify|hostname_verify]]** //**(get, set)**//
76<code c>
77Eina_Bool efl_net_socket_ssl_hostname_verify_get(const Eo *obj);
78void efl_net_socket_ssl_hostname_verify_set(Eo *obj, Eina_Bool hostname_verify);
79</code>
80
81%%Define if hostname should be verified.%%\\
82\\
83**[[:develop:api:efl:net:socket:ssl:property:verify_mode|verify_mode]]** //**(get, set)**//
84<code c>
85Efl_Net_Ssl_Verify_Mode efl_net_socket_ssl_verify_mode_get(const Eo *obj);
86void efl_net_socket_ssl_verify_mode_set(Eo *obj, Efl_Net_Ssl_Verify_Mode verify_mode);
87</code>
88
89%%How to verify the remote peer.%%\\
90\\
91**[[:develop:api:efl:net:socket:ssl:property:adopted|adopted]]** //**(get)**// ''protected''
92<code c>
93Eina_Bool efl_net_socket_ssl_adopted_get(const Eo *obj, Efl_Net_Socket **efl_net_socket, Efl_Net_Ssl_Context **ctx);
94</code>
95
96%%Return the adopted object, if any. Be careful!%%\\
97\\
98
99==== Inherited ====
100
101[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:net:socket:ssl:method:close|close]]** //[Overridden here]//
102\\
103[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:net:socket:ssl:property:close_on_destructor|close_on_destructor]]** //**(get, set)**// //[Overridden here]//
104\\
105[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:net:socket:ssl:property:close_on_exec|close_on_exec]]** //**(get, set)**// //[Overridden here]//
106\\
107[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:net:socket:ssl:property:closed|closed]]** //**(get, set)**// //[Overridden here]//
108\\
109[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:net:socket:ssl:method:read|read]]** //[Overridden here]//
110\\
111[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:net:socket:ssl:property:can_read|can_read]]** //**(get, set)**// //[Overridden here]// ''protected set''
112\\
113[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:net:socket:ssl:property:eos|eos]]** //**(get, set)**// //[Overridden here]// ''protected set''
114\\
115[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:net:socket:ssl:method:write|write]]** //[Overridden here]//
116\\
117[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:net:socket:ssl:property:can_write|can_write]]** //**(get, set)**// //[Overridden here]// ''protected set''
118\\
119[[:develop:api:efl:loop_user|Efl.Loop_User]].**[[:develop:api:efl:loop_user:property:loop|loop]]** //**(get)**//
120\\
121[[:develop:api:efl:net:socket|Efl.Net.Socket]].**[[:develop:api:efl:net:socket:ssl:property:address_local|address_local]]** //**(get, set)**// //[Overridden here]// ''protected set''
122\\
123[[:develop:api:efl:net:socket|Efl.Net.Socket]].**[[:develop:api:efl:net:socket:ssl:property:address_remote|address_remote]]** //**(get, set)**// //[Overridden here]// ''protected set''
124\\
125[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:loop_user:property:parent|parent]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:loop_user|Efl.Loop_User]]]//
126\\
127[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:net:socket:ssl:method:constructor|constructor]]** //[Overridden here]//
128\\
129[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:net:socket:ssl:method:destructor|destructor]]** //[Overridden here]//
130\\
131[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:net:socket:ssl:method:finalize|finalize]]** //[Overridden here]//
132\\
133[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:children_iterator_new|children_iterator_new]]**
134\\
135[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_attach|composite_attach]]**
136\\
137[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_detach|composite_detach]]**
138\\
139[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_part_is|composite_part_is]]**
140\\
141[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:debug_name_override|debug_name_override]]**
142\\
143[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:del|del]]**
144\\
145[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_forwarder_add|event_callback_forwarder_add]]**
146\\
147[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_forwarder_del|event_callback_forwarder_del]]**
148\\
149[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_stop|event_callback_stop]]**
150\\
151[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_freeze|event_freeze]]**
152\\
153[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_global_freeze|event_global_freeze]]**
154\\
155[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_global_thaw|event_global_thaw]]**
156\\
157[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_thaw|event_thaw]]**
158\\
159[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:name_find|name_find]]**
160\\
161[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:provider_find|provider_find]]**
162\\
163[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:allow_parent_unref|allow_parent_unref]]** //**(get, set)**//
164\\
165[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:comment|comment]]** //**(get, set)**//
166\\
167[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:event_freeze_count|event_freeze_count]]** //**(get)**//
168\\
169[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:event_global_freeze_count|event_global_freeze_count]]** //**(get)**//
170\\
171[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:finalized|finalized]]** //**(get)**//
172\\
173[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:name|name]]** //**(get, set)**//
174\\
175
176===== Events =====
177
178**[[:develop:api:efl:net:socket:ssl:event:ssl_error|ssl,error]]**
179<code c>
180EFL_NET_SOCKET_SSL_EVENT_SSL_ERROR(Eina_Error)
181</code>
182
183%%An error such as %%[[:develop:api:var:efl:net:socket:ssl:error:handshake|Efl.Net.Socket.Ssl.Error.HANDSHAKE]]%%%%\\
184\\
185**[[:develop:api:efl:net:socket:ssl:event:ssl_ready|ssl,ready]]**
186<code c>
187EFL_NET_SOCKET_SSL_EVENT_SSL_READY(void)
188</code>
189
190%%Notifies the SSL handshake was done and the socket is now able to communicate%%\\
191\\
192==== Inherited ====
193
194[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:event:closed|closed]]**
195\\
196[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:can_read_changed|can_read,changed]]**
197\\
198[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:eos|eos]]**
199\\
200[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:io:writer:event:can_write_changed|can_write,changed]]**
201\\
202[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_add|callback,add]]**
203\\
204[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_del|callback,del]]**
205\\
206[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:del|del]]**
207\\
diff --git a/pages/develop/api/efl/net/socket/ssl/error/certificate_verify_failed.txt b/pages/develop/api/efl/net/socket/ssl/error/certificate_verify_failed.txt
new file mode 100644
index 0000000..010c197
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/error/certificate_verify_failed.txt
@@ -0,0 +1,19 @@
1~~Title: Efl.Net.Socket.Ssl.Error.CERTIFICATE_VERIFY_FAILED~~
2===== Signature =====
3
4<code>
5var Efl.Net.Socket.Ssl.Error.CERTIFICATE_VERIFY_FAILED: Eina.Error;
6</code>
7
8===== C signature =====
9
10<code c>
11Eina_Error EFL_NET_SOCKET_SSL_ERROR_CERTIFICATE_VERIFY_FAILED;
12</code>
13
14===== Description =====
15
16%%Failed to verify peer's certificate%%
17
18{{page>:develop:api-include:efl:net:socket:ssl:error:certificate_verify_failed:description&nouser&nolink&nodate}}
19
diff --git a/pages/develop/api/efl/net/socket/ssl/error/handshake.txt b/pages/develop/api/efl/net/socket/ssl/error/handshake.txt
new file mode 100644
index 0000000..abbceb6
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/error/handshake.txt
@@ -0,0 +1,19 @@
1~~Title: Efl.Net.Socket.Ssl.Error.HANDSHAKE~~
2===== Signature =====
3
4<code>
5var Efl.Net.Socket.Ssl.Error.HANDSHAKE: Eina.Error;
6</code>
7
8===== C signature =====
9
10<code c>
11Eina_Error EFL_NET_SOCKET_SSL_ERROR_HANDSHAKE;
12</code>
13
14===== Description =====
15
16%%Failed SSL handshake%%
17
18{{page>:develop:api-include:efl:net:socket:ssl:error:handshake:description&nouser&nolink&nodate}}
19
diff --git a/pages/develop/api/efl/net/socket/ssl/event/ssl_error.txt b/pages/develop/api/efl/net/socket/ssl/event/ssl_error.txt
new file mode 100644
index 0000000..87e0d77
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/event/ssl_error.txt
@@ -0,0 +1,41 @@
1~~Title: Efl.Net.Socket.Ssl: ssl,error~~
2===== Signature =====
3
4<code>
5ssl,error: Eina.Error;
6</code>
7
8===== C information =====
9
10<code c>
11EFL_NET_SOCKET_SSL_EVENT_SSL_ERROR(Eina_Error)
12</code>
13
14===== C usage =====
15
16<code c>
17static void
18on_efl_net_socket_ssl_event_ssl_error(void *data, const Efl_Event *event)
19{
20 Eina_Error info = event->info;
21 Eo *obj = event->object;
22 Data *d = data;
23
24 /* event hander code */
25}
26
27static void
28setup_event_handler(Eo *obj, Data *d)
29{
30 efl_event_callback_add(obj, EFL_NET_SOCKET_SSL_EVENT_SSL_ERROR, on_efl_net_socket_ssl_event_ssl_error, d);
31}
32
33</code>
34
35===== Description =====
36
37%%An error such as %%[[:develop:api:var:efl:net:socket:ssl:error:handshake|Efl.Net.Socket.Ssl.Error.HANDSHAKE]]%%%%
38
39//Since 1.19//
40{{page>:develop:api-include:efl:net:socket:ssl:event:ssl_error:description&nouser&nolink&nodate}}
41
diff --git a/pages/develop/api/efl/net/socket/ssl/event/ssl_ready.txt b/pages/develop/api/efl/net/socket/ssl/event/ssl_ready.txt
new file mode 100644
index 0000000..35b7eed
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/event/ssl_ready.txt
@@ -0,0 +1,41 @@
1~~Title: Efl.Net.Socket.Ssl: ssl,ready~~
2===== Signature =====
3
4<code>
5ssl,ready;
6</code>
7
8===== C information =====
9
10<code c>
11EFL_NET_SOCKET_SSL_EVENT_SSL_READY(void)
12</code>
13
14===== C usage =====
15
16<code c>
17static void
18on_efl_net_socket_ssl_event_ssl_ready(void *data, const Efl_Event *event)
19{
20 void info = event->info;
21 Eo *obj = event->object;
22 Data *d = data;
23
24 /* event hander code */
25}
26
27static void
28setup_event_handler(Eo *obj, Data *d)
29{
30 efl_event_callback_add(obj, EFL_NET_SOCKET_SSL_EVENT_SSL_READY, on_efl_net_socket_ssl_event_ssl_ready, d);
31}
32
33</code>
34
35===== Description =====
36
37%%Notifies the SSL handshake was done and the socket is now able to communicate%%
38
39//Since 1.19//
40{{page>:develop:api-include:efl:net:socket:ssl:event:ssl_ready:description&nouser&nolink&nodate}}
41
diff --git a/pages/develop/api/efl/net/socket/ssl/method/adopt.txt b/pages/develop/api/efl/net/socket/ssl/method/adopt.txt
new file mode 100644
index 0000000..4dd5f05
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/method/adopt.txt
@@ -0,0 +1,38 @@
1~~Title: Efl.Net.Socket.Ssl.adopt~~
2===== Signature =====
3
4<code>
5adopt {
6 params {
7 @in efl_net_socket: free(Efl.Net.Socket, efl_del);
8 @in ctx: free(Efl.Net.Ssl.Context, efl_del);
9 }
10}
11</code>
12
13===== C signature =====
14
15<code c>
16void efl_net_socket_ssl_adopt(Eo *obj, Efl_Net_Socket *efl_net_socket, Efl_Net_Ssl_Context *ctx);
17</code>
18
19===== Parameters =====
20
21 * **efl_net_socket** //(in)// - %%The socket to adopt%%
22 * **ctx** //(in)// - %%The SSL context to use when adopting the socket%%
23
24===== Description =====
25
26%%Adopt an Efl.Net.Dialer or regular Efl.Net.Socket that will be used for the actual communication.%%
27
28%%If used with an Efl.Net.Dialer object, it will assume the 'connect' role, otherwise will use 'accept'.%%
29
30%%This is a constructor only method and should be called before %%[[:develop:api:class:efl:object:method:finalize|Efl.Object.finalize]]%%.%%
31
32//Since 1.19//
33{{page>:develop:api-include:efl:net:socket:ssl:method:adopt:description&nouser&nolink&nodate}}
34
35===== Implemented by =====
36
37 * **Efl.Net.Socket.Ssl.adopt**
38
diff --git a/pages/develop/api/efl/net/socket/ssl/method/close.txt b/pages/develop/api/efl/net/socket/ssl/method/close.txt
new file mode 100644
index 0000000..f2c964a
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/method/close.txt
@@ -0,0 +1,30 @@
1~~Title: Efl.Net.Socket.Ssl.close~~
2//Overridden from [[:develop:api:efl:io:closer:method:close|Efl.Io.Closer.close]].//===== Signature =====
3
4<code>
5close @pure_virtual {
6 return: Eina.Error;
7}
8</code>
9
10===== C signature =====
11
12<code c>
13Eina_Error efl_io_closer_close(Eo *obj);
14</code>
15
16===== Description =====
17
18%%Closes the Input/Output object.%%
19
20%%This operation will be executed immediately and may or may not block the caller thread for some time. The details of blocking behavior is to be defined by the implementation and may be subject to other parameters such as non-blocking flags, maximum timeout or even retry attempts.%%
21
22%%You can understand this method as close(2) libc function.%%
23
24//Since 1.19//
25{{page>:develop:api-include:efl:net:socket:ssl:method:close:description&nouser&nolink&nodate}}
26
27===== Implemented by =====
28
29 * [[:develop:api:efl:io:closer:method:close|Efl.Io.Closer.close]]
30
diff --git a/pages/develop/api/efl/net/socket/ssl/method/constructor.txt b/pages/develop/api/efl/net/socket/ssl/method/constructor.txt
new file mode 100644
index 0000000..0a283f5
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/method/constructor.txt
@@ -0,0 +1,26 @@
1~~Title: Efl.Net.Socket.Ssl.constructor~~
2//Overridden from [[:develop:api:efl:object:method:constructor|Efl.Object.constructor]].//===== Signature =====
3
4<code>
5constructor {
6 return: free(Efl.Object, efl_del);
7}
8</code>
9
10===== C signature =====
11
12<code c>
13Efl_Object *efl_constructor(Eo *obj);
14</code>
15
16===== Description =====
17
18%%Call the object's constructor.%%
19
20%%Should not be used with #eo_do. Only use it with #eo_do_super.%%
21{{page>:develop:api-include:efl:net:socket:ssl:method:constructor:description&nouser&nolink&nodate}}
22
23===== Implemented by =====
24
25 * [[:develop:api:efl:object:method:constructor|Efl.Object.constructor]]
26
diff --git a/pages/develop/api/efl/net/socket/ssl/method/destructor.txt b/pages/develop/api/efl/net/socket/ssl/method/destructor.txt
new file mode 100644
index 0000000..648fb71
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/method/destructor.txt
@@ -0,0 +1,24 @@
1~~Title: Efl.Net.Socket.Ssl.destructor~~
2//Overridden from [[:develop:api:efl:object:method:destructor|Efl.Object.destructor]].//===== Signature =====
3
4<code>
5destructor {}
6</code>
7
8===== C signature =====
9
10<code c>
11void efl_destructor(Eo *obj);
12</code>
13
14===== Description =====
15
16%%Call the object's destructor.%%
17
18%%Should not be used with #eo_do. Only use it with #eo_do_super.%%
19{{page>:develop:api-include:efl:net:socket:ssl:method:destructor:description&nouser&nolink&nodate}}
20
21===== Implemented by =====
22
23 * [[:develop:api:efl:object:method:destructor|Efl.Object.destructor]]
24
diff --git a/pages/develop/api/efl/net/socket/ssl/method/finalize.txt b/pages/develop/api/efl/net/socket/ssl/method/finalize.txt
new file mode 100644
index 0000000..809f4b8
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/method/finalize.txt
@@ -0,0 +1,24 @@
1~~Title: Efl.Net.Socket.Ssl.finalize~~
2//Overridden from [[:develop:api:efl:object:method:finalize|Efl.Object.finalize]].//===== Signature =====
3
4<code>
5finalize {
6 return: free(Efl.Object, efl_del);
7}
8</code>
9
10===== C signature =====
11
12<code c>
13Efl_Object *efl_finalize(Eo *obj);
14</code>
15
16===== Description =====
17
18%%Called at the end of #eo_add. Should not be called, just overridden.%%
19{{page>:develop:api-include:efl:net:socket:ssl:method:finalize:description&nouser&nolink&nodate}}
20
21===== Implemented by =====
22
23 * [[:develop:api:efl:object:method:finalize|Efl.Object.finalize]]
24
diff --git a/pages/develop/api/efl/net/socket/ssl/method/read.txt b/pages/develop/api/efl/net/socket/ssl/method/read.txt
new file mode 100644
index 0000000..e7022aa
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/method/read.txt
@@ -0,0 +1,37 @@
1~~Title: Efl.Net.Socket.Ssl.read~~
2//Overridden from [[:develop:api:efl:io:reader:method:read|Efl.Io.Reader.read]].//===== Signature =====
3
4<code>
5read @pure_virtual {
6 params {
7 @inout rw_slice: Eina.Rw_Slice @nonull;
8 }
9 return: Eina.Error;
10}
11</code>
12
13===== C signature =====
14
15<code c>
16Eina_Error efl_io_reader_read(Eo *obj, Eina_Rw_Slice rw_slice);
17</code>
18
19===== Parameters =====
20
21 * **rw_slice** //(inout)// - %%Provides a pre-allocated memory to be filled up to rw_slice.len. It will be populated and the length will be set to the actually used amount of bytes, which can be smaller than the request.%%
22
23===== Description =====
24
25%%Reads data into a pre-allocated buffer.%%
26
27%%This operation will be executed immediately and may or may not block the caller thread for some time. The details of blocking behavior is to be defined by the implementation and may be subject to other parameters such as non-blocking flags, maximum timeout or even retry attempts.%%
28
29%%You can understand this method as read(2) libc function.%%
30
31//Since 1.19//
32{{page>:develop:api-include:efl:net:socket:ssl:method:read:description&nouser&nolink&nodate}}
33
34===== Implemented by =====
35
36 * [[:develop:api:efl:io:reader:method:read|Efl.Io.Reader.read]]
37
diff --git a/pages/develop/api/efl/net/socket/ssl/method/write.txt b/pages/develop/api/efl/net/socket/ssl/method/write.txt
new file mode 100644
index 0000000..5fff06b
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/method/write.txt
@@ -0,0 +1,39 @@
1~~Title: Efl.Net.Socket.Ssl.write~~
2//Overridden from [[:develop:api:efl:io:writer:method:write|Efl.Io.Writer.write]].//===== Signature =====
3
4<code>
5write @pure_virtual {
6 params {
7 @inout slice: Eina.Slice @nonull;
8 @out remaining: Eina.Slice @optional;
9 }
10 return: Eina.Error;
11}
12</code>
13
14===== C signature =====
15
16<code c>
17Eina_Error efl_io_writer_write(Eo *obj, Eina_Slice slice, Eina_Slice *remaining);
18</code>
19
20===== Parameters =====
21
22 * **slice** //(inout)// - %%Provides a pre-populated memory to be used up to slice.len. The returned slice will be adapted as length will be set to the actually used amount of bytes, which can be smaller than the request.%%
23 * **remaining** //(out)// - %%Convenience to output the remaining parts of slice that was not written. If the full slice was written, this will be a slice of zero-length.%%
24
25===== Description =====
26
27%%Writes data from a pre-populated buffer.%%
28
29%%This operation will be executed immediately and may or may not block the caller thread for some time. The details of blocking behavior is to be defined by the implementation and may be subject to other parameters such as non-blocking flags, maximum timeout or even retry attempts.%%
30
31%%You can understand this method as write(2) libc function.%%
32
33//Since 1.19//
34{{page>:develop:api-include:efl:net:socket:ssl:method:write:description&nouser&nolink&nodate}}
35
36===== Implemented by =====
37
38 * [[:develop:api:efl:io:writer:method:write|Efl.Io.Writer.write]]
39
diff --git a/pages/develop/api/efl/net/socket/ssl/property/address_local.txt b/pages/develop/api/efl/net/socket/ssl/property/address_local.txt
new file mode 100644
index 0000000..f83adcf
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/property/address_local.txt
@@ -0,0 +1,44 @@
1~~Title: Efl.Net.Socket.Ssl.address_local~~
2//Overridden from [[:develop:api:efl:net:socket:property:address_local|Efl.Net.Socket.address_local]] **(get)**.//===== Signature =====
3
4<code>
5@property address_local @pure_virtual {
6 get {
7 values {
8 address: free(string, free);
9 }
10 }
11 set @protected {
12 values {
13 address: free(string, free);
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22const char *efl_net_socket_address_local_get(const Eo *obj);
23void efl_net_socket_address_local_set(Eo *obj, const char *address);
24</code>
25
26===== Values =====
27
28 * **address** - %%Local address%%
29===== Description =====
30
31%%The local address, similar to getsockname().%%
32
33%%The actual value depends on the type of socket, like an IPv4 (ip:port) or IPv6 ([ip]:port) formatted for a TCP/UDP socket, the path if an Unix Local...%%
34
35%%It's always resolved, then if operations are working with domain names or URL, this is the values the kernel reports. It's similar to getsockname() in behavior.%%
36
37//Since 1.19//
38{{page>:develop:api-include:efl:net:socket:ssl:property:address_local:description&nouser&nolink&nodate}}
39
40
41===== Implemented by =====
42
43 * [[:develop:api:efl:net:socket:property:address_local|Efl.Net.Socket.address_local]]
44
diff --git a/pages/develop/api/efl/net/socket/ssl/property/address_remote.txt b/pages/develop/api/efl/net/socket/ssl/property/address_remote.txt
new file mode 100644
index 0000000..e995d4d
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/property/address_remote.txt
@@ -0,0 +1,44 @@
1~~Title: Efl.Net.Socket.Ssl.address_remote~~
2//Overridden from [[:develop:api:efl:net:socket:property:address_remote|Efl.Net.Socket.address_remote]] **(get)**.//===== Signature =====
3
4<code>
5@property address_remote @pure_virtual {
6 get {
7 values {
8 address: free(string, free);
9 }
10 }
11 set @protected {
12 values {
13 address: free(string, free);
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22const char *efl_net_socket_address_remote_get(const Eo *obj);
23void efl_net_socket_address_remote_set(Eo *obj, const char *address);
24</code>
25
26===== Values =====
27
28 * **address** - %%Remote address%%
29===== Description =====
30
31%%The remote address, similar to getpeername().%%
32
33%%The actual value depends on the type of socket, like an IPv4 (ip:port) or IPv6 ([ip]:port) formatted for a TCP/UDP socket, the path if an Unix Local...%%
34
35%%It's always resolved, then if operations are working with domain names or URL, this is the values the kernel reports. It's similar to getpeername() in behavior.%%
36
37//Since 1.19//
38{{page>:develop:api-include:efl:net:socket:ssl:property:address_remote:description&nouser&nolink&nodate}}
39
40
41===== Implemented by =====
42
43 * [[:develop:api:efl:net:socket:property:address_remote|Efl.Net.Socket.address_remote]]
44
diff --git a/pages/develop/api/efl/net/socket/ssl/property/adopted.txt b/pages/develop/api/efl/net/socket/ssl/property/adopted.txt
new file mode 100644
index 0000000..ddafbef
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/property/adopted.txt
@@ -0,0 +1,33 @@
1~~Title: Efl.Net.Socket.Ssl.adopted~~
2===== Signature =====
3
4<code>
5@property adopted {
6 get @protected {
7 values {
8 efl_net_socket: free(Efl.Net.Socket, efl_del);
9 ctx: free(Efl.Net.Ssl.Context, efl_del);
10 }
11 return: bool (false);
12 }
13}
14</code>
15
16===== C signature =====
17
18<code c>
19Eina_Bool efl_net_socket_ssl_adopted_get(const Eo *obj, Efl_Net_Socket **efl_net_socket, Efl_Net_Ssl_Context **ctx);
20</code>
21
22===== Values =====
23
24 * **efl_net_socket** - %%The adopted object, if any, otherwise NULL%%
25 * **ctx** - %%The SSL context used when adopting the socket, if any, otherwise NULL%%
26
27
28{{page>:develop:api-include:efl:net:socket:ssl:property:adopted:description&nouser&nolink&nodate}}
29
30===== Implemented by =====
31
32 * **Efl.Net.Socket.Ssl.adopted**
33
diff --git a/pages/develop/api/efl/net/socket/ssl/property/can_read.txt b/pages/develop/api/efl/net/socket/ssl/property/can_read.txt
new file mode 100644
index 0000000..952d89b
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/property/can_read.txt
@@ -0,0 +1,40 @@
1~~Title: Efl.Net.Socket.Ssl.can_read~~
2//Overridden from [[:develop:api:efl:io:reader:property:can_read|Efl.Io.Reader.can_read]] **(get, set)**.//===== Signature =====
3
4<code>
5@property can_read @pure_virtual {
6 get {
7 values {
8 can_read: bool;
9 }
10 }
11 set @protected {
12 values {
13 can_read: bool;
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22Eina_Bool efl_io_reader_can_read_get(const Eo *obj);
23void efl_io_reader_can_read_set(Eo *obj, Eina_Bool can_read);
24</code>
25
26===== Values =====
27
28 * **can_read** - %%%%''true''%% if it can be read without blocking or failing, %%''false''%% otherwise%%
29===== Description =====
30
31%%If %%''true''%% will notify %%[[:develop:api:interface:efl:io:reader:method:read|Efl.Io.Reader.read]]%% can be called without blocking or failing.%%
32
33//Since 1.19//
34{{page>:develop:api-include:efl:net:socket:ssl:property:can_read:description&nouser&nolink&nodate}}
35
36
37===== Implemented by =====
38
39 * [[:develop:api:efl:io:reader:property:can_read|Efl.Io.Reader.can_read]]
40
diff --git a/pages/develop/api/efl/net/socket/ssl/property/can_write.txt b/pages/develop/api/efl/net/socket/ssl/property/can_write.txt
new file mode 100644
index 0000000..926b74f
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/property/can_write.txt
@@ -0,0 +1,40 @@
1~~Title: Efl.Net.Socket.Ssl.can_write~~
2//Overridden from [[:develop:api:efl:io:writer:property:can_write|Efl.Io.Writer.can_write]] **(get, set)**.//===== Signature =====
3
4<code>
5@property can_write @pure_virtual {
6 get {
7 values {
8 can_write: bool;
9 }
10 }
11 set @protected {
12 values {
13 can_write: bool;
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22Eina_Bool efl_io_writer_can_write_get(const Eo *obj);
23void efl_io_writer_can_write_set(Eo *obj, Eina_Bool can_write);
24</code>
25
26===== Values =====
27
28 * **can_write** - %%%%''true''%% if it can be written without blocking or failure, %%''false''%% otherwise%%
29===== Description =====
30
31%%If %%''true''%% will notify %%[[:develop:api:interface:efl:io:writer:method:write|Efl.Io.Writer.write]]%% can be called without blocking or failing.%%
32
33//Since 1.19//
34{{page>:develop:api-include:efl:net:socket:ssl:property:can_write:description&nouser&nolink&nodate}}
35
36
37===== Implemented by =====
38
39 * [[:develop:api:efl:io:writer:property:can_write|Efl.Io.Writer.can_write]]
40
diff --git a/pages/develop/api/efl/net/socket/ssl/property/close_on_destructor.txt b/pages/develop/api/efl/net/socket/ssl/property/close_on_destructor.txt
new file mode 100644
index 0000000..201bdf4
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/property/close_on_destructor.txt
@@ -0,0 +1,42 @@
1~~Title: Efl.Net.Socket.Ssl.close_on_destructor~~
2//Overridden from [[:develop:api:efl:io:closer:property:close_on_destructor|Efl.Io.Closer.close_on_destructor]] **(get, set)**.//===== Signature =====
3
4<code>
5@property close_on_destructor @pure_virtual {
6 get {
7 values {
8 close_on_destructor: bool;
9 }
10 }
11 set {
12 values {
13 close_on_destructor: bool;
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22Eina_Bool efl_io_closer_close_on_destructor_get(const Eo *obj);
23void efl_io_closer_close_on_destructor_set(Eo *obj, Eina_Bool close_on_destructor);
24</code>
25
26===== Values =====
27
28 * **close_on_destructor** - %%%%''true''%% if close on destructor, %%''false''%% otherwise%%
29===== Description =====
30
31%%If true will automatically close() on object destructor.%%
32
33%%If the object was deleted without close, this property will state whenever it should be closed or not.%%
34
35//Since 1.19//
36{{page>:develop:api-include:efl:net:socket:ssl:property:close_on_destructor:description&nouser&nolink&nodate}}
37
38
39===== Implemented by =====
40
41 * [[:develop:api:efl:io:closer:property:close_on_destructor|Efl.Io.Closer.close_on_destructor]]
42
diff --git a/pages/develop/api/efl/net/socket/ssl/property/close_on_exec.txt b/pages/develop/api/efl/net/socket/ssl/property/close_on_exec.txt
new file mode 100644
index 0000000..a8488bb
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/property/close_on_exec.txt
@@ -0,0 +1,52 @@
1~~Title: Efl.Net.Socket.Ssl.close_on_exec~~
2//Overridden from [[:develop:api:efl:io:closer:property:close_on_exec|Efl.Io.Closer.close_on_exec]] **(get, set)**.//===== Signature =====
3
4<code>
5@property close_on_exec @pure_virtual {
6 get {
7 values {
8 close_on_exec: bool;
9 }
10 }
11 set {
12 values {
13 close_on_exec: bool;
14 }
15 return: bool;
16 }
17}
18</code>
19
20===== C signature =====
21
22<code c>
23Eina_Bool efl_io_closer_close_on_exec_get(const Eo *obj);
24Eina_Bool efl_io_closer_close_on_exec_set(Eo *obj, Eina_Bool close_on_exec);
25</code>
26
27===== Values =====
28
29 * **close_on_exec** - %%%%''true''%% if close on exec(), %%''false''%% otherwise%%
30===== Description =====
31
32%%If true will automatically close resources on exec() calls.%%
33
34%%When using file descriptors this should set FD_CLOEXEC so they are not inherited by the processes (children or self) doing exec().%%
35
36//Since 1.19//
37
38
39{{page>:develop:api-include:efl:net:socket:ssl:property:close_on_exec:description&nouser&nolink&nodate}}
40
41==== Setter ====
42
43%%If %%''true''%%, will close on exec() call.%%
44
45//Since 1.19//
46{{page>:develop:api-include:efl:net:socket:ssl:property:close_on_exec:getter_description&nouser&nolink&nodate}}
47
48
49===== Implemented by =====
50
51 * [[:develop:api:efl:io:closer:property:close_on_exec|Efl.Io.Closer.close_on_exec]]
52
diff --git a/pages/develop/api/efl/net/socket/ssl/property/closed.txt b/pages/develop/api/efl/net/socket/ssl/property/closed.txt
new file mode 100644
index 0000000..7bc9080
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/property/closed.txt
@@ -0,0 +1,50 @@
1~~Title: Efl.Net.Socket.Ssl.closed~~
2//Overridden from [[:develop:api:efl:io:closer:property:closed|Efl.Io.Closer.closed]] **(get)**.//===== Signature =====
3
4<code>
5@property closed {
6 get {
7 values {
8 is_closed: bool;
9 }
10 }
11 set {
12 values {
13 is_closed: bool;
14 }
15 return: bool;
16 }
17}
18</code>
19
20===== C signature =====
21
22<code c>
23Eina_Bool efl_io_closer_closed_get(const Eo *obj);
24Eina_Bool efl_io_closer_closed_set(Eo *obj, Eina_Bool is_closed);
25</code>
26
27===== Values =====
28
29 * **is_closed** - %%%%''true''%% if closed, %%''false''%% otherwise%%
30===== Description =====
31
32%%If true will notify object was closed.%%
33
34//Since 1.19//
35
36
37{{page>:develop:api-include:efl:net:socket:ssl:property:closed:description&nouser&nolink&nodate}}
38
39==== Setter ====
40
41%%If true, calls close()%%
42
43//Since 1.19//
44{{page>:develop:api-include:efl:net:socket:ssl:property:closed:getter_description&nouser&nolink&nodate}}
45
46
47===== Implemented by =====
48
49 * [[:develop:api:efl:io:closer:property:closed|Efl.Io.Closer.closed]]
50
diff --git a/pages/develop/api/efl/net/socket/ssl/property/eos.txt b/pages/develop/api/efl/net/socket/ssl/property/eos.txt
new file mode 100644
index 0000000..e47363b
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/property/eos.txt
@@ -0,0 +1,40 @@
1~~Title: Efl.Net.Socket.Ssl.eos~~
2//Overridden from [[:develop:api:efl:io:reader:property:eos|Efl.Io.Reader.eos]] **(get, set)**.//===== Signature =====
3
4<code>
5@property eos @pure_virtual {
6 get {
7 values {
8 is_eos: bool;
9 }
10 }
11 set @protected {
12 values {
13 is_eos: bool;
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22Eina_Bool efl_io_reader_eos_get(const Eo *obj);
23void efl_io_reader_eos_set(Eo *obj, Eina_Bool is_eos);
24</code>
25
26===== Values =====
27
28 * **is_eos** - %%%%''true''%% if end of stream, %%''false''%% otherwise%%
29===== Description =====
30
31%%If %%''true''%% will notify end of stream.%%
32
33//Since 1.19//
34{{page>:develop:api-include:efl:net:socket:ssl:property:eos:description&nouser&nolink&nodate}}
35
36
37===== Implemented by =====
38
39 * [[:develop:api:efl:io:reader:property:eos|Efl.Io.Reader.eos]]
40
diff --git a/pages/develop/api/efl/net/socket/ssl/property/hostname_override.txt b/pages/develop/api/efl/net/socket/ssl/property/hostname_override.txt
new file mode 100644
index 0000000..655e41c
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/property/hostname_override.txt
@@ -0,0 +1,46 @@
1~~Title: Efl.Net.Socket.Ssl.hostname_override~~
2===== Signature =====
3
4<code>
5@property hostname_override {
6 get {
7 values {
8 hostname_override: free(string, free) @nullable;
9 }
10 }
11 set {
12 values {
13 hostname_override: free(string, free) @nullable;
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22const char *efl_net_socket_ssl_hostname_override_get(const Eo *obj);
23void efl_net_socket_ssl_hostname_override_set(Eo *obj, const char *hostname_override);
24</code>
25
26===== Values =====
27
28 * **hostname_override** - %%Hostname for this socket%%
29===== Description =====
30
31%%Overrides the hostname to use for this socket.%%
32
33%%Most of time this is useful if you're using an IP address but the server certificate only specifies DNS (names).%%
34
35%%If NULL, then it will fetch from socket using %%[[:develop:api:interface:efl:net:socket:property:address_remote|Efl.Net.Socket.address_remote]]%% or %%[[:develop:api:interface:efl:net:dialer:property:address_dial|Efl.Net.Dialer.address_dial]]%%.%%
36
37%%It's only used if %%[[:develop:api:class:efl:net:socket:ssl:property:hostname_verify|Efl.Net.Socket.Ssl.hostname_verify]]%% is %%''true''%%.%%
38
39//Since 1.19//
40{{page>:develop:api-include:efl:net:socket:ssl:property:hostname_override:description&nouser&nolink&nodate}}
41
42
43===== Implemented by =====
44
45 * **Efl.Net.Socket.Ssl.hostname_override**
46
diff --git a/pages/develop/api/efl/net/socket/ssl/property/hostname_verify.txt b/pages/develop/api/efl/net/socket/ssl/property/hostname_verify.txt
new file mode 100644
index 0000000..5621ae7
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/property/hostname_verify.txt
@@ -0,0 +1,42 @@
1~~Title: Efl.Net.Socket.Ssl.hostname_verify~~
2===== Signature =====
3
4<code>
5@property hostname_verify {
6 get {
7 values {
8 hostname_verify: bool;
9 }
10 }
11 set {
12 values {
13 hostname_verify: bool;
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22Eina_Bool efl_net_socket_ssl_hostname_verify_get(const Eo *obj);
23void efl_net_socket_ssl_hostname_verify_set(Eo *obj, Eina_Bool hostname_verify);
24</code>
25
26===== Values =====
27
28 * **hostname_verify** - %%%%''true''%% if the hostname will be verified, %%''false''%% otherwise%%
29===== Description =====
30
31%%Define if hostname should be verified.%%
32
33%%This will check the socket hostname (without the port in case of an IP) or the overriden value from %%[[:develop:api:class:efl:net:socket:ssl:property:hostname_override|Efl.Net.Socket.Ssl.hostname_override]]%%.%%
34
35//Since 1.19//
36{{page>:develop:api-include:efl:net:socket:ssl:property:hostname_verify:description&nouser&nolink&nodate}}
37
38
39===== Implemented by =====
40
41 * **Efl.Net.Socket.Ssl.hostname_verify**
42
diff --git a/pages/develop/api/efl/net/socket/ssl/property/verify_mode.txt b/pages/develop/api/efl/net/socket/ssl/property/verify_mode.txt
new file mode 100644
index 0000000..c859cc5
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/ssl/property/verify_mode.txt
@@ -0,0 +1,40 @@
1~~Title: Efl.Net.Socket.Ssl.verify_mode~~
2===== Signature =====
3
4<code>
5@property verify_mode {
6 get {
7 values {
8 verify_mode: Efl.Net.Ssl.Verify_Mode;
9 }
10 }
11 set {
12 values {
13 verify_mode: Efl.Net.Ssl.Verify_Mode;
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22Efl_Net_Ssl_Verify_Mode efl_net_socket_ssl_verify_mode_get(const Eo *obj);
23void efl_net_socket_ssl_verify_mode_set(Eo *obj, Efl_Net_Ssl_Verify_Mode verify_mode);
24</code>
25
26===== Values =====
27
28 * **verify_mode** - %%Remote verification mode%%
29===== Description =====
30
31%%How to verify the remote peer.%%
32
33//Since 1.19//
34{{page>:develop:api-include:efl:net:socket:ssl:property:verify_mode:description&nouser&nolink&nodate}}
35
36
37===== Implemented by =====
38
39 * **Efl.Net.Socket.Ssl.verify_mode**
40
diff --git a/pages/develop/api/efl/net/socket/tcp.txt b/pages/develop/api/efl/net/socket/tcp.txt
new file mode 100644
index 0000000..b457102
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/tcp.txt
@@ -0,0 +1,238 @@
1~~Title: Efl.Net.Socket.Tcp~~
2====== Efl.Net.Socket.Tcp (class) ======
3
4===== Description =====
5
6%%A base TCP socket.%%
7
8%%This is the common class and takes an existing FD, usually created by an dialer or server.%%
9
10//Since 1.19//
11
12{{page>:develop:api-include:efl:net:socket:tcp:description&nouser&nolink&nodate}}
13
14===== Inheritance =====
15
16 => [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]] //(class)// => [[:develop:api:efl:loop:fd|Efl.Loop.Fd]] //(class)// => [[:develop:api:efl:loop_user|Efl.Loop_User]] //(class)// => [[:develop:api:efl:object|Efl.Object]] //(class)//
17++++ Inheritance graph |
18
19<graphviz>
20digraph hierarchy {
21 bgcolor = "transparent"
22 size = "6"
23 rankdir = "TB"
24
25 node [shape = "box"]
26 edge [color = "gray35"]
27
28 efl_net_socket_tcp [fillcolor = "black", label = "Efl.Net.Socket.Tcp", color = "gray15", fontcolor = "white", style = "filled"]
29 efl_net_socket_fd [fillcolor = "gray15", label = "Efl.Net.Socket.Fd", color = "gray15", fontcolor = "white", style = "filled"]
30 efl_loop_fd [fillcolor = "gray15", label = "Efl.Loop.Fd", color = "gray15", fontcolor = "white", style = "filled"]
31 efl_loop_user [fillcolor = "gray15", label = "Efl.Loop_User", color = "gray15", fontcolor = "white", style = "filled"]
32 efl_object [fillcolor = "gray15", label = "Efl.Object", color = "gray15", fontcolor = "white", style = "filled"]
33 efl_io_reader_fd [fillcolor = "gray15", label = "Efl.Io.Reader.Fd", color = "deepskyblue", fontcolor = "white", style = "filled"]
34 efl_io_reader [fillcolor = "gray15", label = "Efl.Io.Reader", color = "cornflowerblue", fontcolor = "white", style = "filled"]
35 efl_io_writer_fd [fillcolor = "gray15", label = "Efl.Io.Writer.Fd", color = "deepskyblue", fontcolor = "white", style = "filled"]
36 efl_io_writer [fillcolor = "gray15", label = "Efl.Io.Writer", color = "cornflowerblue", fontcolor = "white", style = "filled"]
37 efl_io_closer_fd [fillcolor = "gray15", label = "Efl.Io.Closer.Fd", color = "deepskyblue", fontcolor = "white", style = "filled"]
38 efl_io_closer [fillcolor = "gray15", label = "Efl.Io.Closer", color = "deepskyblue", fontcolor = "white", style = "filled"]
39 efl_object [fillcolor = "gray15", label = "Efl.Object", color = "gray15", fontcolor = "white", style = "filled"]
40 efl_net_socket [fillcolor = "gray15", label = "Efl.Net.Socket", color = "cornflowerblue", fontcolor = "white", style = "filled"]
41 efl_io_reader [fillcolor = "gray15", label = "Efl.Io.Reader", color = "cornflowerblue", fontcolor = "white", style = "filled"]
42 efl_io_writer [fillcolor = "gray15", label = "Efl.Io.Writer", color = "cornflowerblue", fontcolor = "white", style = "filled"]
43 efl_io_closer [fillcolor = "gray15", label = "Efl.Io.Closer", color = "deepskyblue", fontcolor = "white", style = "filled"]
44
45 efl_net_socket_tcp -> efl_net_socket_fd
46 efl_net_socket_fd -> efl_loop_fd
47 efl_loop_fd -> efl_loop_user
48 efl_loop_user -> efl_object
49 efl_net_socket_fd -> efl_io_reader_fd
50 efl_io_reader_fd -> efl_io_reader
51 efl_net_socket_fd -> efl_io_writer_fd
52 efl_io_writer_fd -> efl_io_writer
53 efl_net_socket_fd -> efl_io_closer_fd
54 efl_io_closer_fd -> efl_io_closer
55 efl_io_closer_fd -> efl_object
56 efl_net_socket_fd -> efl_net_socket
57 efl_net_socket -> efl_io_reader
58 efl_net_socket -> efl_io_writer
59 efl_net_socket -> efl_io_closer
60}
61</graphviz>
62
63++++
64
65++++ Full hierarchy |
66
67 * [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]] //(class)//
68 * [[:develop:api:efl:loop:fd|Efl.Loop.Fd]] //(class)//
69 * [[:develop:api:efl:loop_user|Efl.Loop_User]] //(class)//
70 * [[:develop:api:efl:object|Efl.Object]] //(class)//
71 * [[:develop:api:efl:io:reader:fd|Efl.Io.Reader.Fd]] //(mixin)//
72 * [[:develop:api:efl:io:reader|Efl.Io.Reader]] //(interface)//
73 * [[:develop:api:efl:io:writer:fd|Efl.Io.Writer.Fd]] //(mixin)//
74 * [[:develop:api:efl:io:writer|Efl.Io.Writer]] //(interface)//
75 * [[:develop:api:efl:io:closer:fd|Efl.Io.Closer.Fd]] //(mixin)//
76 * [[:develop:api:efl:io:closer|Efl.Io.Closer]] //(mixin)//
77 * [[:develop:api:efl:object|Efl.Object]] //(class)//
78 * [[:develop:api:efl:net:socket|Efl.Net.Socket]] //(interface)//
79 * [[:develop:api:efl:io:reader|Efl.Io.Reader]] //(interface)//
80 * [[:develop:api:efl:io:writer|Efl.Io.Writer]] //(interface)//
81 * [[:develop:api:efl:io:closer|Efl.Io.Closer]] //(mixin)//
82
83
84++++
85===== Members =====
86
87**[[:develop:api:efl:net:socket:tcp:property:cork|cork]]** //**(get, set)**//
88<code c>
89Eina_Bool efl_net_socket_tcp_cork_get(const Eo *obj);
90Eina_Bool efl_net_socket_tcp_cork_set(Eo *obj, Eina_Bool cork);
91</code>
92
93%%Controls TCP's cork using TCP_CORK%%\\
94\\
95**[[:develop:api:efl:net:socket:tcp:property:keep_alive|keep_alive]]** //**(get, set)**//
96<code c>
97Eina_Bool efl_net_socket_tcp_keep_alive_get(const Eo *obj);
98Eina_Bool efl_net_socket_tcp_keep_alive_set(Eo *obj, Eina_Bool keep_alive);
99</code>
100
101%%Controls keep-alive using SO_KEEPALIVE%%\\
102\\
103**[[:develop:api:efl:net:socket:tcp:property:no_delay|no_delay]]** //**(get, set)**//
104<code c>
105Eina_Bool efl_net_socket_tcp_no_delay_get(const Eo *obj);
106Eina_Bool efl_net_socket_tcp_no_delay_set(Eo *obj, Eina_Bool no_delay);
107</code>
108
109%%Controls TCP's no-delay using TCP_NODELAY%%\\
110\\
111
112==== Inherited ====
113
114[[:develop:api:efl:io:closer:fd|Efl.Io.Closer.Fd]].**[[:develop:api:efl:io:closer:fd:property:closer_fd|closer_fd]]** //**(get, set)**// ''protected set''
115\\
116[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:fd:property:close_on_destructor|close_on_destructor]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:io:closer:fd|Efl.Io.Closer.Fd]]]//
117\\
118[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:fd:property:close_on_exec|close_on_exec]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:io:closer:fd|Efl.Io.Closer.Fd]]]//
119\\
120[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:net:socket:fd:method:close|close]]** //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]//
121\\
122[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:net:socket:fd:property:closed|closed]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]//
123\\
124[[:develop:api:efl:io:reader:fd|Efl.Io.Reader.Fd]].**[[:develop:api:efl:io:reader:fd:property:reader_fd|reader_fd]]** //**(get, set)**// ''protected set''
125\\
126[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:net:socket:fd:method:read|read]]** //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]//
127\\
128[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:net:socket:fd:property:can_read|can_read]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]// ''protected set''
129\\
130[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:net:socket:fd:property:eos|eos]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]// ''protected set''
131\\
132[[:develop:api:efl:io:writer:fd|Efl.Io.Writer.Fd]].**[[:develop:api:efl:io:writer:fd:property:writer_fd|writer_fd]]** //**(get, set)**// ''protected set''
133\\
134[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:net:socket:fd:method:write|write]]** //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]//
135\\
136[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:net:socket:fd:property:can_write|can_write]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]// ''protected set''
137\\
138[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:loop:fd:property:fd_file|fd_file]]** //**(get, set)**//
139\\
140[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:net:socket:tcp:property:fd|fd]]** //**(get, set)**// //[Overridden here]//
141\\
142[[:develop:api:efl:loop_user|Efl.Loop_User]].**[[:develop:api:efl:loop_user:property:loop|loop]]** //**(get)**//
143\\
144[[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]].**[[:develop:api:efl:net:socket:fd:property:family|family]]** //**(get, set)**// ''protected set''
145\\
146[[:develop:api:efl:net:socket|Efl.Net.Socket]].**[[:develop:api:efl:net:socket:fd:property:address_local|address_local]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]// ''protected set''
147\\
148[[:develop:api:efl:net:socket|Efl.Net.Socket]].**[[:develop:api:efl:net:socket:fd:property:address_remote|address_remote]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]// ''protected set''
149\\
150[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:loop:fd:property:parent|parent]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:loop:fd|Efl.Loop.Fd]]]//
151\\
152[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:net:socket:fd:method:constructor|constructor]]** //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]//
153\\
154[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:net:socket:fd:method:destructor|destructor]]** //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]//
155\\
156[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:net:socket:fd:method:finalize|finalize]]** //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]//
157\\
158[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:children_iterator_new|children_iterator_new]]**
159\\
160[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_attach|composite_attach]]**
161\\
162[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_detach|composite_detach]]**
163\\
164[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_part_is|composite_part_is]]**
165\\
166[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:debug_name_override|debug_name_override]]**
167\\
168[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:del|del]]**
169\\
170[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_forwarder_add|event_callback_forwarder_add]]**
171\\
172[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_forwarder_del|event_callback_forwarder_del]]**
173\\
174[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_stop|event_callback_stop]]**
175\\
176[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_freeze|event_freeze]]**
177\\
178[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_global_freeze|event_global_freeze]]**
179\\
180[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_global_thaw|event_global_thaw]]**
181\\
182[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_thaw|event_thaw]]**
183\\
184[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:name_find|name_find]]**
185\\
186[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:provider_find|provider_find]]**
187\\
188[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:allow_parent_unref|allow_parent_unref]]** //**(get, set)**//
189\\
190[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:comment|comment]]** //**(get, set)**//
191\\
192[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:event_freeze_count|event_freeze_count]]** //**(get)**//
193\\
194[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:event_global_freeze_count|event_global_freeze_count]]** //**(get)**//
195\\
196[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:finalized|finalized]]** //**(get)**//
197\\
198[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:name|name]]** //**(get, set)**//
199\\
200
201===== Events =====
202
203==== Inherited ====
204
205[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:event:closed|closed]]**
206\\
207[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:event:closed|closed]]**
208\\
209[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:can_read_changed|can_read,changed]]**
210\\
211[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:can_read_changed|can_read,changed]]**
212\\
213[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:eos|eos]]**
214\\
215[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:eos|eos]]**
216\\
217[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:io:writer:event:can_write_changed|can_write,changed]]**
218\\
219[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:io:writer:event:can_write_changed|can_write,changed]]**
220\\
221[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:loop:fd:event:error|error]]**
222\\
223[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:loop:fd:event:read|read]]**
224\\
225[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:loop:fd:event:write|write]]**
226\\
227[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_add|callback,add]]**
228\\
229[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_add|callback,add]]**
230\\
231[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_del|callback,del]]**
232\\
233[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_del|callback,del]]**
234\\
235[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:del|del]]**
236\\
237[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:del|del]]**
238\\
diff --git a/pages/develop/api/efl/net/socket/tcp/property/cork.txt b/pages/develop/api/efl/net/socket/tcp/property/cork.txt
new file mode 100644
index 0000000..cc21658
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/tcp/property/cork.txt
@@ -0,0 +1,41 @@
1~~Title: Efl.Net.Socket.Tcp.cork~~
2===== Signature =====
3
4<code>
5@property cork {
6 get {
7 values {
8 cork: bool;
9 }
10 }
11 set {
12 values {
13 cork: bool;
14 }
15 return: bool (false);
16 }
17}
18</code>
19
20===== C signature =====
21
22<code c>
23Eina_Bool efl_net_socket_tcp_cork_get(const Eo *obj);
24Eina_Bool efl_net_socket_tcp_cork_set(Eo *obj, Eina_Bool cork);
25</code>
26
27===== Values =====
28
29 * **cork** - %%%%''true''%% if cork is enabled, %%''false''%% otherwise%%
30===== Description =====
31
32%%Controls TCP's cork using TCP_CORK%%
33
34//Since 1.19//
35{{page>:develop:api-include:efl:net:socket:tcp:property:cork:description&nouser&nolink&nodate}}
36
37
38===== Implemented by =====
39
40 * **Efl.Net.Socket.Tcp.cork**
41
diff --git a/pages/develop/api/efl/net/socket/tcp/property/fd.txt b/pages/develop/api/efl/net/socket/tcp/property/fd.txt
new file mode 100644
index 0000000..fd470e3
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/tcp/property/fd.txt
@@ -0,0 +1,45 @@
1~~Title: Efl.Net.Socket.Tcp.fd~~
2//Overridden from [[:develop:api:efl:net:socket:fd:property:fd|Efl.Loop.Fd.fd]] **(set)**.//===== Signature =====
3
4<code>
5@property fd {
6 get {
7 values {
8 fd: int;
9 }
10 }
11 set {
12 values {
13 fd: int;
14 }
15 }
16}
17</code>
18
19===== C signature =====
20
21<code c>
22int efl_loop_fd_get(const Eo *obj);
23void efl_loop_fd_set(Eo *obj, int fd);
24</code>
25
26===== Values =====
27
28 * **fd** - %%The file descriptor.%%
29===== Description =====
30
31%%Defines which file descriptor to watch. If it is a file, use file_fd variant.%%
32
33
34{{page>:develop:api-include:efl:net:socket:tcp:property:fd:description&nouser&nolink&nodate}}
35
36==== Setter ====
37
38%%Defines the fd to watch on.%%
39{{page>:develop:api-include:efl:net:socket:tcp:property:fd:getter_description&nouser&nolink&nodate}}
40
41
42===== Implemented by =====
43
44 * [[:develop:api:efl:loop:fd:property:fd|Efl.Loop.Fd.fd]]
45
diff --git a/pages/develop/api/efl/net/socket/tcp/property/keep_alive.txt b/pages/develop/api/efl/net/socket/tcp/property/keep_alive.txt
new file mode 100644
index 0000000..43ed3d8
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/tcp/property/keep_alive.txt
@@ -0,0 +1,41 @@
1~~Title: Efl.Net.Socket.Tcp.keep_alive~~
2===== Signature =====
3
4<code>
5@property keep_alive {
6 get {
7 values {
8 keep_alive: bool;
9 }
10 }
11 set {
12 values {
13 keep_alive: bool;
14 }
15 return: bool (false);
16 }
17}
18</code>
19
20===== C signature =====
21
22<code c>
23Eina_Bool efl_net_socket_tcp_keep_alive_get(const Eo *obj);
24Eina_Bool efl_net_socket_tcp_keep_alive_set(Eo *obj, Eina_Bool keep_alive);
25</code>
26
27===== Values =====
28
29 * **keep_alive** - %%%%''true''%% if keep alive is enabled, %%''false''%% otherwise%%
30===== Description =====
31
32%%Controls keep-alive using SO_KEEPALIVE%%
33
34//Since 1.19//
35{{page>:develop:api-include:efl:net:socket:tcp:property:keep_alive:description&nouser&nolink&nodate}}
36
37
38===== Implemented by =====
39
40 * **Efl.Net.Socket.Tcp.keep_alive**
41
diff --git a/pages/develop/api/efl/net/socket/tcp/property/no_delay.txt b/pages/develop/api/efl/net/socket/tcp/property/no_delay.txt
new file mode 100644
index 0000000..801f522
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/tcp/property/no_delay.txt
@@ -0,0 +1,41 @@
1~~Title: Efl.Net.Socket.Tcp.no_delay~~
2===== Signature =====
3
4<code>
5@property no_delay {
6 get {
7 values {
8 no_delay: bool;
9 }
10 }
11 set {
12 values {
13 no_delay: bool;
14 }
15 return: bool (false);
16 }
17}
18</code>
19
20===== C signature =====
21
22<code c>
23Eina_Bool efl_net_socket_tcp_no_delay_get(const Eo *obj);
24Eina_Bool efl_net_socket_tcp_no_delay_set(Eo *obj, Eina_Bool no_delay);
25</code>
26
27===== Values =====
28
29 * **no_delay** - %%%%''true''%% if no delay is enabled, %%''false''%% otherwise%%
30===== Description =====
31
32%%Controls TCP's no-delay using TCP_NODELAY%%
33
34//Since 1.19//
35{{page>:develop:api-include:efl:net:socket:tcp:property:no_delay:description&nouser&nolink&nodate}}
36
37
38===== Implemented by =====
39
40 * **Efl.Net.Socket.Tcp.no_delay**
41
diff --git a/pages/develop/api/efl/net/socket/udp.txt b/pages/develop/api/efl/net/socket/udp.txt
new file mode 100644
index 0000000..97747eb
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/udp.txt
@@ -0,0 +1,307 @@
1~~Title: Efl.Net.Socket.Udp~~
2====== Efl.Net.Socket.Udp (class) ======
3
4===== Description =====
5
6%%A base UDP socket.%%
7
8%%This is the common class and takes an existing FD, usually created by an dialer.%%
9
10%%Since for the server 'clients' there is no accepted connection it will reuse the same file decriptor and to avoid it being closed, another class Efl.Net.Server.Udp.Client is used instead.%%
11
12//Since 1.19//
13
14{{page>:develop:api-include:efl:net:socket:udp:description&nouser&nolink&nodate}}
15
16===== Inheritance =====
17
18 => [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]] //(class)// => [[:develop:api:efl:loop:fd|Efl.Loop.Fd]] //(class)// => [[:develop:api:efl:loop_user|Efl.Loop_User]] //(class)// => [[:develop:api:efl:object|Efl.Object]] //(class)//
19++++ Inheritance graph |
20
21<graphviz>
22digraph hierarchy {
23 bgcolor = "transparent"
24 size = "6"
25 rankdir = "TB"
26
27 node [shape = "box"]
28 edge [color = "gray35"]
29
30 efl_net_socket_udp [fillcolor = "black", label = "Efl.Net.Socket.Udp", color = "gray15", fontcolor = "white", style = "filled"]
31 efl_net_socket_fd [fillcolor = "gray15", label = "Efl.Net.Socket.Fd", color = "gray15", fontcolor = "white", style = "filled"]
32 efl_loop_fd [fillcolor = "gray15", label = "Efl.Loop.Fd", color = "gray15", fontcolor = "white", style = "filled"]
33 efl_loop_user [fillcolor = "gray15", label = "Efl.Loop_User", color = "gray15", fontcolor = "white", style = "filled"]
34 efl_object [fillcolor = "gray15", label = "Efl.Object", color = "gray15", fontcolor = "white", style = "filled"]
35 efl_io_reader_fd [fillcolor = "gray15", label = "Efl.Io.Reader.Fd", color = "deepskyblue", fontcolor = "white", style = "filled"]
36 efl_io_reader [fillcolor = "gray15", label = "Efl.Io.Reader", color = "cornflowerblue", fontcolor = "white", style = "filled"]
37 efl_io_writer_fd [fillcolor = "gray15", label = "Efl.Io.Writer.Fd", color = "deepskyblue", fontcolor = "white", style = "filled"]
38 efl_io_writer [fillcolor = "gray15", label = "Efl.Io.Writer", color = "cornflowerblue", fontcolor = "white", style = "filled"]
39 efl_io_closer_fd [fillcolor = "gray15", label = "Efl.Io.Closer.Fd", color = "deepskyblue", fontcolor = "white", style = "filled"]
40 efl_io_closer [fillcolor = "gray15", label = "Efl.Io.Closer", color = "deepskyblue", fontcolor = "white", style = "filled"]
41 efl_object [fillcolor = "gray15", label = "Efl.Object", color = "gray15", fontcolor = "white", style = "filled"]
42 efl_net_socket [fillcolor = "gray15", label = "Efl.Net.Socket", color = "cornflowerblue", fontcolor = "white", style = "filled"]
43 efl_io_reader [fillcolor = "gray15", label = "Efl.Io.Reader", color = "cornflowerblue", fontcolor = "white", style = "filled"]
44 efl_io_writer [fillcolor = "gray15", label = "Efl.Io.Writer", color = "cornflowerblue", fontcolor = "white", style = "filled"]
45 efl_io_closer [fillcolor = "gray15", label = "Efl.Io.Closer", color = "deepskyblue", fontcolor = "white", style = "filled"]
46
47 efl_net_socket_udp -> efl_net_socket_fd
48 efl_net_socket_fd -> efl_loop_fd
49 efl_loop_fd -> efl_loop_user
50 efl_loop_user -> efl_object
51 efl_net_socket_fd -> efl_io_reader_fd
52 efl_io_reader_fd -> efl_io_reader
53 efl_net_socket_fd -> efl_io_writer_fd
54 efl_io_writer_fd -> efl_io_writer
55 efl_net_socket_fd -> efl_io_closer_fd
56 efl_io_closer_fd -> efl_io_closer
57 efl_io_closer_fd -> efl_object
58 efl_net_socket_fd -> efl_net_socket
59 efl_net_socket -> efl_io_reader
60 efl_net_socket -> efl_io_writer
61 efl_net_socket -> efl_io_closer
62}
63</graphviz>
64
65++++
66
67++++ Full hierarchy |
68
69 * [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]] //(class)//
70 * [[:develop:api:efl:loop:fd|Efl.Loop.Fd]] //(class)//
71 * [[:develop:api:efl:loop_user|Efl.Loop_User]] //(class)//
72 * [[:develop:api:efl:object|Efl.Object]] //(class)//
73 * [[:develop:api:efl:io:reader:fd|Efl.Io.Reader.Fd]] //(mixin)//
74 * [[:develop:api:efl:io:reader|Efl.Io.Reader]] //(interface)//
75 * [[:develop:api:efl:io:writer:fd|Efl.Io.Writer.Fd]] //(mixin)//
76 * [[:develop:api:efl:io:writer|Efl.Io.Writer]] //(interface)//
77 * [[:develop:api:efl:io:closer:fd|Efl.Io.Closer.Fd]] //(mixin)//
78 * [[:develop:api:efl:io:closer|Efl.Io.Closer]] //(mixin)//
79 * [[:develop:api:efl:object|Efl.Object]] //(class)//
80 * [[:develop:api:efl:net:socket|Efl.Net.Socket]] //(interface)//
81 * [[:develop:api:efl:io:reader|Efl.Io.Reader]] //(interface)//
82 * [[:develop:api:efl:io:writer|Efl.Io.Writer]] //(interface)//
83 * [[:develop:api:efl:io:closer|Efl.Io.Closer]] //(mixin)//
84
85
86++++
87===== Members =====
88
89**[[:develop:api:efl:net:socket:udp:method:multicast_groups_get|multicast_groups_get]]**
90<code c>
91Eina_Iterator *efl_net_socket_udp_multicast_groups_get(Eo *obj);
92</code>
93
94%%Returns the multicast groups this server has joined.%%\\
95\\
96**[[:develop:api:efl:net:socket:udp:method:multicast_join|multicast_join]]**
97<code c>
98Eina_Error efl_net_socket_udp_multicast_join(Eo *obj, const char *address);
99</code>
100
101%%Joins a multicast group.%%\\
102\\
103**[[:develop:api:efl:net:socket:udp:method:multicast_leave|multicast_leave]]**
104<code c>
105Eina_Error efl_net_socket_udp_multicast_leave(Eo *obj, const char *address);
106</code>
107
108%%Leaves a multicast group.%%\\
109\\
110**[[:develop:api:efl:net:socket:udp:method:next_datagram_size_query|next_datagram_size_query]]**
111<code c>
112size_t efl_net_socket_udp_next_datagram_size_query(Eo *obj);
113</code>
114
115%%Queries the next datagram size.%%\\
116\\
117**[[:develop:api:efl:net:socket:udp:property:bind|bind]]** //**(get, set)**//
118<code c>
119const char *efl_net_socket_udp_bind_get(const Eo *obj);
120Eina_Error efl_net_socket_udp_bind_set(Eo *obj, const char *address);
121</code>
122
123%%Forces binding to a specific address.%%\\
124\\
125**[[:develop:api:efl:net:socket:udp:property:cork|cork]]** //**(get, set)**//
126<code c>
127Eina_Bool efl_net_socket_udp_cork_get(const Eo *obj);
128Eina_Bool efl_net_socket_udp_cork_set(Eo *obj, Eina_Bool cork);
129</code>
130
131%%Controls UDP's cork using UDP_CORK%%\\
132\\
133**[[:develop:api:efl:net:socket:udp:property:dont_route|dont_route]]** //**(get, set)**//
134<code c>
135Eina_Bool efl_net_socket_udp_dont_route_get(const Eo *obj);
136Eina_Bool efl_net_socket_udp_dont_route_set(Eo *obj, Eina_Bool dont_route);
137</code>
138
139%%Avoids sent UDP packets being routed by a gateway, limiting them to the local network.%%\\
140\\
141**[[:develop:api:efl:net:socket:udp:property:multicast_loopback|multicast_loopback]]** //**(get, set)**//
142<code c>
143Eina_Bool efl_net_socket_udp_multicast_loopback_get(const Eo *obj);
144Eina_Error efl_net_socket_udp_multicast_loopback_set(Eo *obj, Eina_Bool loopback);
145</code>
146
147%%Controls whenever multicast will loopback packets locally.%%\\
148\\
149**[[:develop:api:efl:net:socket:udp:property:multicast_time_to_live|multicast_time_to_live]]** //**(get, set)**//
150<code c>
151uint8_t efl_net_socket_udp_multicast_time_to_live_get(const Eo *obj);
152Eina_Error efl_net_socket_udp_multicast_time_to_live_set(Eo *obj, uint8_t ttl);
153</code>
154
155%%Controls time to live in number of hops.%%\\
156\\
157**[[:develop:api:efl:net:socket:udp:property:reuse_address|reuse_address]]** //**(get, set)**//
158<code c>
159Eina_Bool efl_net_socket_udp_reuse_address_get(const Eo *obj);
160Eina_Bool efl_net_socket_udp_reuse_address_set(Eo *obj, Eina_Bool reuse_address);
161</code>
162
163%%Controls address reuse() using SO_REUSEADDR%%\\
164\\
165**[[:develop:api:efl:net:socket:udp:property:reuse_port|reuse_port]]** //**(get, set)**//
166<code c>
167Eina_Bool efl_net_socket_udp_reuse_port_get(const Eo *obj);
168Eina_Bool efl_net_socket_udp_reuse_port_set(Eo *obj, Eina_Bool reuse_port);
169</code>
170
171%%Controls port reuse() using SO_REUSEPORT (since Linux 3.9)%%\\
172\\
173**[[:develop:api:efl:net:socket:udp:method:init|init]]** ''protected''
174<code c>
175void efl_net_socket_udp_init(Eo *obj, Efl_Net_Ip_Address *remote_address);
176</code>
177
178%%Initializes the socket to communicate with given IP address%%\\
179\\
180
181==== Inherited ====
182
183[[:develop:api:efl:io:closer:fd|Efl.Io.Closer.Fd]].**[[:develop:api:efl:io:closer:fd:property:closer_fd|closer_fd]]** //**(get, set)**// ''protected set''
184\\
185[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:fd:property:close_on_destructor|close_on_destructor]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:io:closer:fd|Efl.Io.Closer.Fd]]]//
186\\
187[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:fd:property:close_on_exec|close_on_exec]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:io:closer:fd|Efl.Io.Closer.Fd]]]//
188\\
189[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:net:socket:fd:method:close|close]]** //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]//
190\\
191[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:net:socket:fd:property:closed|closed]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]//
192\\
193[[:develop:api:efl:io:reader:fd|Efl.Io.Reader.Fd]].**[[:develop:api:efl:io:reader:fd:property:reader_fd|reader_fd]]** //**(get, set)**// ''protected set''
194\\
195[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:net:socket:fd:property:can_read|can_read]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]// ''protected set''
196\\
197[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:net:socket:fd:property:eos|eos]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]// ''protected set''
198\\
199[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:net:socket:udp:method:read|read]]** //[Overridden here]//
200\\
201[[:develop:api:efl:io:writer:fd|Efl.Io.Writer.Fd]].**[[:develop:api:efl:io:writer:fd:property:writer_fd|writer_fd]]** //**(get, set)**// ''protected set''
202\\
203[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:net:socket:fd:property:can_write|can_write]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]// ''protected set''
204\\
205[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:net:socket:udp:method:write|write]]** //[Overridden here]//
206\\
207[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:loop:fd:property:fd_file|fd_file]]** //**(get, set)**//
208\\
209[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:net:socket:udp:property:fd|fd]]** //**(get, set)**// //[Overridden here]//
210\\
211[[:develop:api:efl:loop_user|Efl.Loop_User]].**[[:develop:api:efl:loop_user:property:loop|loop]]** //**(get)**//
212\\
213[[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]].**[[:develop:api:efl:net:socket:fd:property:family|family]]** //**(get, set)**// ''protected set''
214\\
215[[:develop:api:efl:net:socket|Efl.Net.Socket]].**[[:develop:api:efl:net:socket:fd:property:address_local|address_local]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]// ''protected set''
216\\
217[[:develop:api:efl:net:socket|Efl.Net.Socket]].**[[:develop:api:efl:net:socket:fd:property:address_remote|address_remote]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]// ''protected set''
218\\
219[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:loop:fd:property:parent|parent]]** //**(get, set)**// //[Overridden in [[:develop:api:efl:loop:fd|Efl.Loop.Fd]]]//
220\\
221[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:net:socket:fd:method:finalize|finalize]]** //[Overridden in [[:develop:api:efl:net:socket:fd|Efl.Net.Socket.Fd]]]//
222\\
223[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:net:socket:udp:method:constructor|constructor]]** //[Overridden here]//
224\\
225[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:net:socket:udp:method:destructor|destructor]]** //[Overridden here]//
226\\
227[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:children_iterator_new|children_iterator_new]]**
228\\
229[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_attach|composite_attach]]**
230\\
231[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_detach|composite_detach]]**
232\\
233[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:composite_part_is|composite_part_is]]**
234\\
235[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:debug_name_override|debug_name_override]]**
236\\
237[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:del|del]]**
238\\
239[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_forwarder_add|event_callback_forwarder_add]]**
240\\
241[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_forwarder_del|event_callback_forwarder_del]]**
242\\
243[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_callback_stop|event_callback_stop]]**
244\\
245[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_freeze|event_freeze]]**
246\\
247[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_global_freeze|event_global_freeze]]**
248\\
249[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_global_thaw|event_global_thaw]]**
250\\
251[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:event_thaw|event_thaw]]**
252\\
253[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:name_find|name_find]]**
254\\
255[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:method:provider_find|provider_find]]**
256\\
257[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:allow_parent_unref|allow_parent_unref]]** //**(get, set)**//
258\\
259[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:comment|comment]]** //**(get, set)**//
260\\
261[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:event_freeze_count|event_freeze_count]]** //**(get)**//
262\\
263[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:event_global_freeze_count|event_global_freeze_count]]** //**(get)**//
264\\
265[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:finalized|finalized]]** //**(get)**//
266\\
267[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:property:name|name]]** //**(get, set)**//
268\\
269
270===== Events =====
271
272==== Inherited ====
273
274[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:event:closed|closed]]**
275\\
276[[:develop:api:efl:io:closer|Efl.Io.Closer]].**[[:develop:api:efl:io:closer:event:closed|closed]]**
277\\
278[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:can_read_changed|can_read,changed]]**
279\\
280[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:can_read_changed|can_read,changed]]**
281\\
282[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:eos|eos]]**
283\\
284[[:develop:api:efl:io:reader|Efl.Io.Reader]].**[[:develop:api:efl:io:reader:event:eos|eos]]**
285\\
286[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:io:writer:event:can_write_changed|can_write,changed]]**
287\\
288[[:develop:api:efl:io:writer|Efl.Io.Writer]].**[[:develop:api:efl:io:writer:event:can_write_changed|can_write,changed]]**
289\\
290[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:loop:fd:event:error|error]]**
291\\
292[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:loop:fd:event:read|read]]**
293\\
294[[:develop:api:efl:loop:fd|Efl.Loop.Fd]].**[[:develop:api:efl:loop:fd:event:write|write]]**
295\\
296[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_add|callback,add]]**
297\\
298[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_add|callback,add]]**
299\\
300[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_del|callback,del]]**
301\\
302[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:callback_del|callback,del]]**
303\\
304[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:del|del]]**
305\\
306[[:develop:api:efl:object|Efl.Object]].**[[:develop:api:efl:object:event:del|del]]**
307\\
diff --git a/pages/develop/api/efl/net/socket/udp/method/constructor.txt b/pages/develop/api/efl/net/socket/udp/method/constructor.txt
new file mode 100644
index 0000000..3eba93b
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/udp/method/constructor.txt
@@ -0,0 +1,26 @@
1~~Title: Efl.Net.Socket.Udp.constructor~~
2//Overridden from [[:develop:api:efl:net:socket:fd:method:constructor|Efl.Object.constructor]].//===== Signature =====
3
4<code>
5constructor {
6 return: free(Efl.Object, efl_del);
7}
8</code>
9
10===== C signature =====
11
12<code c>
13Efl_Object *efl_constructor(Eo *obj);
14</code>
15
16===== Description =====
17
18%%Call the object's constructor.%%
19
20%%Should not be used with #eo_do. Only use it with #eo_do_super.%%
21{{page>:develop:api-include:efl:net:socket:udp:method:constructor:description&nouser&nolink&nodate}}
22
23===== Implemented by =====
24
25 * [[:develop:api:efl:object:method:constructor|Efl.Object.constructor]]
26
diff --git a/pages/develop/api/efl/net/socket/udp/method/destructor.txt b/pages/develop/api/efl/net/socket/udp/method/destructor.txt
new file mode 100644
index 0000000..c9456d8
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/udp/method/destructor.txt
@@ -0,0 +1,24 @@
1~~Title: Efl.Net.Socket.Udp.destructor~~
2//Overridden from [[:develop:api:efl:net:socket:fd:method:destructor|Efl.Object.destructor]].//===== Signature =====
3
4<code>
5destructor {}
6</code>
7
8===== C signature =====
9
10<code c>
11void efl_destructor(Eo *obj);
12</code>
13
14===== Description =====
15
16%%Call the object's destructor.%%
17
18%%Should not be used with #eo_do. Only use it with #eo_do_super.%%
19{{page>:develop:api-include:efl:net:socket:udp:method:destructor:description&nouser&nolink&nodate}}
20
21===== Implemented by =====
22
23 * [[:develop:api:efl:object:method:destructor|Efl.Object.destructor]]
24
diff --git a/pages/develop/api/efl/net/socket/udp/method/init.txt b/pages/develop/api/efl/net/socket/udp/method/init.txt
new file mode 100644
index 0000000..0a1cdb3
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/udp/method/init.txt
@@ -0,0 +1,32 @@
1~~Title: Efl.Net.Socket.Udp.init~~
2===== Signature =====
3
4<code>
5init @protected {
6 params {
7 @in remote_address: free(Efl.Net.Ip_Address, efl_del);
8 }
9}
10</code>
11
12===== C signature =====
13
14<code c>
15void efl_net_socket_udp_init(Eo *obj, Efl_Net_Ip_Address *remote_address);
16</code>
17
18===== Parameters =====
19
20 * **remote_address** //(in)// - %%The remote address this socket will communicate with%%
21
22===== Description =====
23
24%%Initializes the socket to communicate with given IP address%%
25
26//Since 1.19//
27{{page>:develop:api-include:efl:net:socket:udp:method:init:description&nouser&nolink&nodate}}
28
29===== Implemented by =====
30
31 * **Efl.Net.Socket.Udp.init**
32
diff --git a/pages/develop/api/efl/net/socket/udp/method/multicast_groups_get.txt b/pages/develop/api/efl/net/socket/udp/method/multicast_groups_get.txt
new file mode 100644
index 0000000..21c3558
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/udp/method/multicast_groups_get.txt
@@ -0,0 +1,28 @@
1~~Title: Efl.Net.Socket.Udp.multicast_groups_get~~
2===== Signature =====
3
4<code>
5multicast_groups_get {
6 return: free(iterator<free(string, free)>, eina_iterator_free);
7}
8</code>
9
10===== C signature =====
11
12<code c>
13Eina_Iterator *efl_net_socket_udp_multicast_groups_get(Eo *obj);
14</code>
15
16===== Description =====
17
18%%Returns the multicast groups this server has joined.%%
19
20%%The iterator is only valid until a new group is joined or left using %%[[:develop:api:class:efl:net:socket:udp:method:multicast_join|Efl.Net.Socket.Udp.multicast_join]]%% or %%[[:develop:api:class:efl:net:socket:udp:method:multicast_leave|Efl.Net.Socket.Udp.multicast_leave]]%%.%%
21
22//Since 1.19//
23{{page>:develop:api-include:efl:net:socket:udp:method:multicast_groups_get:description&nouser&nolink&nodate}}
24
25===== Implemented by =====
26
27 * **Efl.Net.Socket.Udp.multicast_groups_get**
28
diff --git a/pages/develop/api/efl/net/socket/udp/method/multicast_join.txt b/pages/develop/api/efl/net/socket/udp/method/multicast_join.txt
new file mode 100644
index 0000000..f34fa61
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/udp/method/multicast_join.txt
@@ -0,0 +1,41 @@
1~~Title: Efl.Net.Socket.Udp.multicast_join~~
2===== Signature =====
3
4<code>
5multicast_join {
6 params {
7 @in address: free(string, free) @nonull;
8 }
9 return: Eina.Error;
10}
11</code>
12
13===== C signature =====
14
15<code c>
16Eina_Error efl_net_socket_udp_multicast_join(Eo *obj, const char *address);
17</code>
18
19===== Parameters =====
20
21 * **address** //(in)// - %%Multicast address to join%%
22
23===== Description =====
24
25%%Joins a multicast group.%%
26
27%%The multicast address should be in the format:%%
28
29%%IP@INTERFACE%%
30
31%%With '@INTERFACE' being optional, such as:%%
32
33%%224.0.0.1 - use any interface (ie: 0.0.0.0) 224.0.0.1@0.0.0.0 224.0.0.1@192.168.0.1 - use the interface assigned to 192.168.0.1 ff02::1@0 - use any interface ff02::1@1 - use loopback interface (idx=1)%%
34
35//Since 1.19//
36{{page>:develop:api-include:efl:net:socket:udp:method:multicast_join:description&nouser&nolink&nodate}}
37
38===== Implemented by =====
39
40 * **Efl.Net.Socket.Udp.multicast_join**
41
diff --git a/pages/develop/api/efl/net/socket/udp/method/multicast_leave.txt b/pages/develop/api/efl/net/socket/udp/method/multicast_leave.txt
new file mode 100644
index 0000000..d5193c6
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/udp/method/multicast_leave.txt
@@ -0,0 +1,35 @@
1~~Title: Efl.Net.Socket.Udp.multicast_leave~~
2===== Signature =====
3
4<code>
5multicast_leave {
6 params {
7 @in address: free(string, free) @nonull;
8 }
9 return: Eina.Error;
10}
11</code>
12
13===== C signature =====
14
15<code c>
16Eina_Error efl_net_socket_udp_multicast_leave(Eo *obj, const char *address);
17</code>
18
19===== Parameters =====
20
21 * **address** //(in)// - %%Multicast address to leave%%
22
23===== Description =====
24
25%%Leaves a multicast group.%%
26
27%%This reverses the effect of %%[[:develop:api:class:efl:net:socket:udp:method:multicast_join|Efl.Net.Socket.Udp.multicast_join]]%%.%%
28
29//Since 1.19//
30{{page>:develop:api-include:efl:net:socket:udp:method:multicast_leave:description&nouser&nolink&nodate}}
31
32===== Implemented by =====
33
34 * **Efl.Net.Socket.Udp.multicast_leave**
35
diff --git a/pages/develop/api/efl/net/socket/udp/method/next_datagram_size_query.txt b/pages/develop/api/efl/net/socket/udp/method/next_datagram_size_query.txt
new file mode 100644
index 0000000..3418a08
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/udp/method/next_datagram_size_query.txt
@@ -0,0 +1,28 @@
1~~Title: Efl.Net.Socket.Udp.next_datagram_size_query~~
2===== Signature =====
3
4<code>
5next_datagram_size_query {
6 return: size;
7}
8</code>
9
10===== C signature =====
11
12<code c>
13size_t efl_net_socket_udp_next_datagram_size_query(Eo *obj);
14</code>
15
16===== Description =====
17
18%%Queries the next datagram size.%%
19
20%%This will use system calls to determine the next datagram size, in bytes.%%
21
22//Since 1.19//
23{{page>:develop:api-include:efl:net:socket:udp:method:next_datagram_size_query:description&nouser&nolink&nodate}}
24
25===== Implemented by =====
26
27 * **Efl.Net.Socket.Udp.next_datagram_size_query**
28
diff --git a/pages/develop/api/efl/net/socket/udp/method/read.txt b/pages/develop/api/efl/net/socket/udp/method/read.txt
new file mode 100644
index 0000000..d21dfd9
--- /dev/null
+++ b/pages/develop/api/efl/net/socket/udp/method/read.txt
@@ -0,0 +1,37 @@
1~~Title: Efl.Net.Socket.Udp.read~~
2//Overridden from [[:develop:api:efl:net:socket:fd:method:read|Efl.Io.Reader.read]].//===== Signature =====
3
4<code>
5read @pure_virtual {
6 params {
7 @inout rw_slice: Eina.Rw_Slice @nonull;
8 }
9 return: Eina.Error;
10}
11</code>
12
13===== C signature =====
14
15<code c>
16Eina_Error efl_io_reader_read(Eo *obj, Eina_Rw_Slice rw_slice);
17</code>
18
19===== Parameters =====
20
21 * **rw_slice** //(inout)// - %%Provides a pre-allocated memory to be filled up to rw_slice.len. It will be populated and the length will be set to the actually used amount of bytes, which can be smaller than the request.%%
22
23===== Description =====
24
25%%Reads data into a pre-allocated buffer.%%
26
27%%This operation will be executed immediately and may or may not block the caller thread for some time. The details of blocking behavior is to be defined by the implementation and may be subject to other parameters such as non-blocking flags, maximum timeout or even retry attempts.%%