summaryrefslogtreecommitdiff
path: root/src/lib/ecore_con
diff options
context:
space:
mode:
authorAndy Williams <andy@andywilliams.me>2017-12-20 17:30:29 +0000
committerAndy Williams <andy@andywilliams.me>2017-12-20 17:30:29 +0000
commitb9401d7e0a550af0c2b8a8c78a9da9ca04a2718d (patch)
tree16dc451b1c42e07b0d03269c13e96745ad6202c5 /src/lib/ecore_con
parent99f9789902d93bb4e8ba255c05cc02c8af0320ed (diff)
docs: Update ecore_con eo files for grammar and readability
Author: Nate Drake
Diffstat (limited to '')
-rw-r--r--src/lib/ecore_con/efl_net_control.eo64
-rw-r--r--src/lib/ecore_con/efl_net_control_access_point.eo130
-rw-r--r--src/lib/ecore_con/efl_net_control_technology.eo30
-rw-r--r--src/lib/ecore_con/efl_net_dialer.eo24
-rw-r--r--src/lib/ecore_con/efl_net_dialer_http.eo70
-rw-r--r--src/lib/ecore_con/efl_net_dialer_simple.eo22
-rw-r--r--src/lib/ecore_con/efl_net_dialer_websocket.eo36
-rw-r--r--src/lib/ecore_con/efl_net_ip_address.eo26
-rw-r--r--src/lib/ecore_con/efl_net_server.eo28
-rw-r--r--src/lib/ecore_con/efl_net_server_fd.eo32
-rw-r--r--src/lib/ecore_con/efl_net_server_simple.eo10
-rw-r--r--src/lib/ecore_con/efl_net_server_udp.eo4
-rw-r--r--src/lib/ecore_con/efl_net_server_udp_client.eo4
-rw-r--r--src/lib/ecore_con/efl_net_server_unix.eo10
-rw-r--r--src/lib/ecore_con/efl_net_server_windows.eo6
-rw-r--r--src/lib/ecore_con/efl_net_session.eo26
-rw-r--r--src/lib/ecore_con/efl_net_socket.eo14
-rw-r--r--src/lib/ecore_con/efl_net_socket_simple.eo16
-rw-r--r--src/lib/ecore_con/efl_net_socket_ssl.eo6
-rw-r--r--src/lib/ecore_con/efl_net_socket_udp.eo10
20 files changed, 284 insertions, 284 deletions
diff --git a/src/lib/ecore_con/efl_net_control.eo b/src/lib/ecore_con/efl_net_control.eo
index 1f9810522d..ad500615cd 100644
--- a/src/lib/ecore_con/efl_net_control.eo
+++ b/src/lib/ecore_con/efl_net_control.eo
@@ -5,14 +5,14 @@ import efl_net_control_technology;
5enum Efl.Net.Control.State { 5enum Efl.Net.Control.State {
6 [[Provides the global network connectivity state. 6 [[Provides the global network connectivity state.
7 7
8 For fine grained details, use @Efl.Net.Control access points and 8 For more details, use @Efl.Net.Control access points and
9 their state property. 9 their property state.
10 10
11 @since 1.19 11 @since 1.19
12 ]] 12 ]]
13 offline, [[No access point is connected]] 13 offline, [[No access point is connected.]]
14 local, [[At least one access point was connected and the internet connectio wasn't verified]] 14 local, [[At least one access point is connected and the internet connection hasn't been verified.]]
15 online, [[At least one access point was connected and the internet was verified]] 15 online, [[At least one access point is connected and the internet has been verified]]
16} 16}
17 17
18enum Efl.Net.Control.Agent_Request_Input.Field { 18enum Efl.Net.Control.Agent_Request_Input.Field {
@@ -20,7 +20,7 @@ enum Efl.Net.Control.Agent_Request_Input.Field {
20 20
21 @since 1.19 21 @since 1.19
22 ]] 22 ]]
23 name = (1 << 0), [[Used for hidden WiFi access points. If ssid is present, this is an alternative to that.]] 23 name = (1 << 0), [[Used for hidden WiFi access points. If SSID is present, this is an alternative to that.]]
24 ssid = (1 << 1), [[Used for hidden WiFi access points. If name is present, this is an alternative to that.]] 24 ssid = (1 << 1), [[Used for hidden WiFi access points. If name is present, this is an alternative to that.]]
25 username = (1 << 2), [[Identity or username requested]] 25 username = (1 << 2), [[Identity or username requested]]
26 passphrase = (1 << 3), [[Password or passphrase requested]] 26 passphrase = (1 << 3), [[Password or passphrase requested]]
@@ -41,9 +41,9 @@ struct Efl.Net.Control.Agent_Request_Input {
41 41
42 @since 1.19 42 @since 1.19
43 ]] 43 ]]
44 access_point: Efl.Net.Control.Access_Point; [[The access point that triggered this request.]] 44 access_point: Efl.Net.Control.Access_Point; [[The access point which triggered this request.]]
45 fields: Efl.Net.Control.Agent_Request_Input.Field; [[Bitwise OR of fields present in this request.]] 45 fields: Efl.Net.Control.Agent_Request_Input.Field; [[Bitwise OR of fields present in this request.]]
46 passphrase_type: string; [[Extra detail on the meaning for the passphrase field, such as wep, psk, response (IEEE802.X GTC/OTP), string...]] 46 passphrase_type: string; [[Extra detail for the passphrase field, such as wep, psk, response (IEEE802.X GTC/OTP), string...]]
47 informational: list<ptr(Efl.Net.Control.Agent_Request_Input.Information)>; [[Such as the previous passphrase, VPN host]] 47 informational: list<ptr(Efl.Net.Control.Agent_Request_Input.Information)>; [[Such as the previous passphrase, VPN host]]
48} 48}
49 49
@@ -57,7 +57,7 @@ struct Efl.Net.Control.Agent_Error {
57} 57}
58 58
59struct Efl.Net.Control.Agent_Browser_Url { 59struct Efl.Net.Control.Agent_Browser_Url {
60 [[Reports to agent that it should open a browser at given URL. 60 [[Reports to agent that it should open a browser at a given URL.
61 61
62 @since 1.19 62 @since 1.19
63 ]] 63 ]]
@@ -68,50 +68,50 @@ struct Efl.Net.Control.Agent_Browser_Url {
68class Efl.Net.Control (Efl.Loop.Consumer) { 68class Efl.Net.Control (Efl.Loop.Consumer) {
69 [[Controls network connectivity. 69 [[Controls network connectivity.
70 70
71 This class and its children objects are only useful to implement 71 This class and its child objects are only useful to implement
72 control of the network connectivity. If your application is only 72 control of the network connectivity. If your application only
73 interested in requesting access to the network, use the 73 needs to request access to the network, use
74 \@Efl.Net.Session instead. 74 \@Efl.Net.Session instead.
75 75
76 The network connectivity is defined on top of technologies that 76 Network connectivity is defined on top of technologies that
77 provide access points. A technology can be "ethernet", "wifi", 77 provide access points. A technology can be "ethernet", "wifi",
78 "bluetooth" or something else. Ethernet will provide a single 78 "bluetooth" or something else. Ethernet will provide a single
79 access point, while "wifi" will expose zero or more access 79 access point, while "wifi" will expose zero or more access
80 points that can come and go. 80 points that can come and go.
81 81
82 Users willing to use access points are expected to monitor 82 Users willing to use access points are expected to monitor
83 "access_point,add" event to know when access points were 83 "access_point,add" event to know when access points are
84 added. To know when they were deleted, "access_point,del" or an 84 added. To know when they were deleted, "access_point,del" or an
85 @Efl.Net.Control.Access_Point "del" event. Finally 85 @Efl.Net.Control.Access_Point "del" event. Finally
86 "access_points,changed" is relative to additions, deletions and 86 "access_points,changed" is relative to additions, deletions and
87 reordering of access point due changes in their priorities. 87 reordering of access point due changes in their priorities.
88 88
89 The backend system is responsible to remember connection details 89 The backend system is responsible for remembering connection details
90 such as passphrase, last connected access point and 90 such as passphrase, last connected access point and
91 priority. The user is NOT supposed to do that. 91 priority. The user is NOT supposed to do that.
92 92
93 For ease of use, @.state tells if at least one access point is 93 For ease of use @.state determines if at least one access point is
94 online (verified connectivity), local (connected but unverified) 94 online (verified connectivity), local (connected but unverified)
95 or offline. 95 or offline.
96 96
97 Due safety reasons all radio transmissions may be disabled with 97 For safety reasons all radio transmissions may be disabled with
98 @.radios_offline property. This is usually called "airplane 98 @.radios_offline property. This is usually called "airplane
99 mode" in some platforms. 99 mode" on some platforms.
100 100
101 Some platforms may not implement the backend for this class, in 101 Some platforms may not implement the backend for this class, in
102 such cases the system will report always @.state "online" 102 which case the system will report @.state as permanently "online"
103 (@Efl.Net.Control.State.online) and iterators for 103 (@Efl.Net.Control.State.online) and iterators for
104 @.access_points and @.technologies will be empty (they will be 104 @.access_points and @.technologies will be empty (they will be
105 returned but won't contain any item). 105 returned but won't contain any items).
106 106
107 107
108 @since 1.19 108 @since 1.19
109 ]] 109 ]]
110 events { 110 events {
111 access_point,add: Efl.Net.Control.Access_Point; [[The given access point was added]] 111 access_point,add: Efl.Net.Control.Access_Point; [[The given access point has been added]]
112 access_point,del: Efl.Net.Control.Access_Point; [[The given access point will be deleted]] 112 access_point,del: Efl.Net.Control.Access_Point; [[The given access point will be deleted]]
113 access_points,changed; [[Access points were added, deleted or reordered.]] 113 access_points,changed; [[Access points were added, deleted or reordered.]]
114 technology,add: Efl.Net.Control.Technology; [[The given technology was added]] 114 technology,add: Efl.Net.Control.Technology; [[The given technology has been added]]
115 technology,del: Efl.Net.Control.Technology; [[The given technology will be deleted]] 115 technology,del: Efl.Net.Control.Technology; [[The given technology will be deleted]]
116 radios_offline,changed; [[Property @.radios_offline changed]] 116 radios_offline,changed; [[Property @.radios_offline changed]]
117 state,changed; [[Property @.state changed]] 117 state,changed; [[Property @.state changed]]
@@ -119,12 +119,12 @@ class Efl.Net.Control (Efl.Loop.Consumer) {
119 agent_released; [[Notifies we're not the agent anymore]] 119 agent_released; [[Notifies we're not the agent anymore]]
120 agent_error: Efl.Net.Control.Agent_Error; [[Requires the error to be reported to the user]] 120 agent_error: Efl.Net.Control.Agent_Error; [[Requires the error to be reported to the user]]
121 agent_browser_url: Efl.Net.Control.Agent_Browser_Url; [[Requires the user to visit a web page]] 121 agent_browser_url: Efl.Net.Control.Agent_Browser_Url; [[Requires the user to visit a web page]]
122 agent_request_input: Efl.Net.Control.Agent_Request_Input; [[Requires the user to enter information in order to proceed, such as hidden SSID, passphrase, etc. After the user entered information, reply by calling @.agent_reply]] 122 agent_request_input: Efl.Net.Control.Agent_Request_Input; [[Requires the user to enter information in order to proceed, such as hidden SSID, passphrase, etc. After the user enters the information, reply by calling @.agent_reply]]
123 } 123 }
124 124
125 methods { 125 methods {
126 @property radios_offline { 126 @property radios_offline {
127 [[If $true disable all network technologies that use radio transmission, such as bluetooth and wifi. If $false, allows radios to be used.]] 127 [[If $true disable all network technologies that use radio transmission, such as bluetooth and wifi. If $false, allows radio to be used.]]
128 get { } 128 get { }
129 set { } 129 set { }
130 values { 130 values {
@@ -143,7 +143,7 @@ class Efl.Net.Control (Efl.Loop.Consumer) {
143 - online means verified connectivity. 143 - online means verified connectivity.
144 144
145 \@note if there is no backend for this class, then state 145 \@note if there is no backend for this class, then state
146 will be always online, however @.access_points and 146 will always be online, however @.access_points and
147 @.technologies will be empty iterators (valid pointers 147 @.technologies will be empty iterators (valid pointers
148 but no items in them). 148 but no items in them).
149 ]] 149 ]]
@@ -157,7 +157,7 @@ class Efl.Net.Control (Efl.Loop.Consumer) {
157 [[The iterator of current access points. 157 [[The iterator of current access points.
158 158
159 The iterator is valid only before the function returns 159 The iterator is valid only before the function returns
160 to the main loop, by then, if the events 160 to the main loop. By then, if the events
161 "access_point,add" or "access_point,del" are emitted, 161 "access_point,add" or "access_point,del" are emitted,
162 the iterator will become invalid. 162 the iterator will become invalid.
163 ]] 163 ]]
@@ -171,7 +171,7 @@ class Efl.Net.Control (Efl.Loop.Consumer) {
171 [[The iterator of current technologies. 171 [[The iterator of current technologies.
172 172
173 The iterator is valid only before the function returns 173 The iterator is valid only before the function returns
174 to the main loop, by then, if the events 174 to the main loop. By then, if the events
175 "technology,add" or "technology,del" are emitted, 175 "technology,add" or "technology,del" are emitted,
176 the iterator will become invalid. 176 the iterator will become invalid.
177 ]] 177 ]]
@@ -186,14 +186,14 @@ class Efl.Net.Control (Efl.Loop.Consumer) {
186 186
187 When enabled, the local process will become the agent 187 When enabled, the local process will become the agent
188 for user interaction, such as requesting passphrases, 188 for user interaction, such as requesting passphrases,
189 asking the user to open a browser to do 189 asking the user to open a browser to perform
190 web-authentication and report connection errors. 190 web-authentication and report connection errors.
191 191
192 There can be a single agent in the system at a given 192 There can be only one agent in the system at any
193 time, registering one will unregister the other and 193 time: Registering one will unregister the other.
194 special permissions may be required to become an agent. 194 Special permissions may be required to become an agent.
195 195
196 An useful agent should monitor "agent_error", 196 A useful agent should monitor "agent_error",
197 "agent_browser_url" and "agent_request_input" 197 "agent_browser_url" and "agent_request_input"
198 events. When input is requested, reply using 198 events. When input is requested, reply using
199 @.agent_reply. 199 @.agent_reply.
diff --git a/src/lib/ecore_con/efl_net_control_access_point.eo b/src/lib/ecore_con/efl_net_control_access_point.eo
index 0287b52c57..948325cab9 100644
--- a/src/lib/ecore_con/efl_net_control_access_point.eo
+++ b/src/lib/ecore_con/efl_net_control_access_point.eo
@@ -4,25 +4,25 @@ enum Efl.Net.Control.Access_Point.State {
4 @since 1.19 4 @since 1.19
5 ]] 5 ]]
6 idle, [[Nothing is happening with this access point]] 6 idle, [[Nothing is happening with this access point]]
7 association, [[The access point is trying to associate itself, this is the first state after a connection attempt]] 7 association, [[The access point is trying to associate itself. This is the first state after a connection attempt.]]
8 configuration, [[The access point is configuring itself, such as DHCP]] 8 configuration, [[The access point is configuring itself, such as DHCP.]]
9 local, [[The access point is connected, but the internet connection wasn't validated]] 9 local, [[The access point is connected but the internet connection hasn't been validated.]]
10 online, [[The access point is connected and the internet connected was validated]] 10 online, [[The access point is connected and the internet connection has been validated.]]
11 disconnect, [[The access point is disconnecting]] 11 disconnect, [[The access point is disconnecting.]]
12 failure, [[A connection attempt failed, @Efl.Net.Control.Access_Point.error will provide more details]] 12 failure, [[The connection attempt failed, @Efl.Net.Control.Access_Point.error will provide more details]]
13} 13}
14 14
15enum Efl.Net.Control.Access_Point.Error { 15enum Efl.Net.Control.Access_Point.Error {
16 [[The connection error reason. 16 [[The reason for the connection error.
17 17
18 @since 1.19 18 @since 1.19
19 ]] 19 ]]
20 none, [[All right, no errors]] 20 none, [[All OK, no errors]]
21 out_of_range, [[Wireless device is out of range]] 21 out_of_range, [[Wireless device is out of range.]]
22 pin_missing, [[PIN was required and is missing]] 22 pin_missing, [[PIN was required and is missing.]]
23 dhcp_failed, [[DHCP failed to provide configuration]] 23 dhcp_failed, [[DHCP failed to provide configuration.]]
24 connect_failed, [[Could not connect to access point]] 24 connect_failed, [[Could not connect to access point.]]
25 login_failed, [[Login or authentication information was incorrect, agent_request_input event may be emitted]] 25 login_failed, [[Login or authentication information was incorrect, agent_request_input event may be emitted.]]
26} 26}
27 27
28enum Efl.Net.Control.Access_Point.Security { 28enum Efl.Net.Control.Access_Point.Security {
@@ -42,8 +42,8 @@ enum Efl.Net.Control.Access_Point.Ipv4_Method {
42 42
43 @since 1.19 43 @since 1.19
44 ]] 44 ]]
45 off, [[IPv4 is disabled]] 45 off, [[IPv4 is disabled.]]
46 dhcp, [[IPv4 is configured using DHCP]] 46 dhcp, [[IPv4 is configured using DHCP.]]
47 manual, [[IPv4 is manually set using address, netmask and gateway]] 47 manual, [[IPv4 is manually set using address, netmask and gateway]]
48 unset, [[Only to be used with @Efl.Net.Control.Access_Point.configuration_ipv4]] 48 unset, [[Only to be used with @Efl.Net.Control.Access_Point.configuration_ipv4]]
49} 49}
@@ -53,25 +53,25 @@ enum Efl.Net.Control.Access_Point.Ipv6_Method {
53 53
54 @since 1.19 54 @since 1.19
55 ]] 55 ]]
56 off, [[IPv6 is disabled]] 56 off, [[IPv6 is disabled.]]
57 fixed, [[IPv6 is fixed by operator and cannot be changed]] 57 fixed, [[IPv6 is fixed by operator and cannot be changed.]]
58 manual, [[IPv6 is manually set using address, netmask and gateway]] 58 manual, [[IPv6 is manually set using address, netmask and gateway.]]
59 auto_privacy_none, [[IPv6 is set using dhcp or using a tunnel6to4, no privacy extensions should be used]] 59 auto_privacy_none, [[IPv6 is set using dhcp or using a tunnel6to4. No privacy extensions should be used.]]
60 auto_privacy_public, [[IPv6 is set using dhcp or using a tunnel6to4, privacy extensions are used and the system prefers a public IP address over temporary addresses]] 60 auto_privacy_public, [[IPv6 is set using dhcp or using a tunnel6to4, privacy extensions are used and the system prefers a public IP address over temporary addresses.]]
61 auto_privacy_temporary, [[IPv6 is set using dhcp or using a tunnel6to4, privacy extensions are used and the system prefers a temporary IP address over public addresses]] 61 auto_privacy_temporary, [[IPv6 is set using dhcp or using a tunnel6to4, privacy extensions are used and the system prefers a temporary IP address over public addresses.]]
62 tunnel6to4, [[IPv6 was configured using a 6-to-4 tunnel. This cannot be set by the user, which is expected to set "auto" instead]] 62 tunnel6to4, [[IPv6 was configured using a 6-to-4 tunnel. This cannot be set by the user, which is set to "auto" instead]]
63 unset, [[Only to be used with @Efl.Net.Control.Access_Point.configuration_ipv6]] 63 unset, [[Only to be used with @Efl.Net.Control.Access_Point.configuration_ipv6]]
64} 64}
65 65
66enum Efl.Net.Control.Access_Point.Proxy_Method { 66enum Efl.Net.Control.Access_Point.Proxy_Method {
67 [[The method used to configure Proxy. 67 [[The method used to configure Proxies.
68 68
69 @since 1.19 69 @since 1.19
70 ]] 70 ]]
71 off, [[Direct connection to the internet, no proxy to be used]] 71 off, [[Direct connection to the internet, no proxy used.]]
72 auto, [[Proxy is autoconfigured using Proxy-Auto-Configuration (PAC) using given URL]] 72 auto, [[Proxy is autoconfigured using Proxy-Auto-Configuration (PAC) using given URL.]]
73 manual, [[Proxy is configured manually using servers and excludes]] 73 manual, [[Proxy is configured manually using servers and excludes.]]
74 unset, [[Only to be used with @Efl.Net.Control.Access_Point.configuration_proxy]] 74 unset, [[Only to be used with @Efl.Net.Control.Access_Point.configuration_proxy.]]
75} 75}
76 76
77class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) { 77class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
@@ -80,8 +80,8 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
80 The @Efl.Net.Control is composed of multiple technologies, each 80 The @Efl.Net.Control is composed of multiple technologies, each
81 create access points to allow configuration and connection. 81 create access points to allow configuration and connection.
82 82
83 An application willing to just get a network connection should 83 An application requiring only a network connection can just
84 prefer to use the \@Efl.Net.Session instead. 84 use a \@Efl.Net.Session instead.
85 85
86 @since 1.19 86 @since 1.19
87 ]] 87 ]]
@@ -114,11 +114,11 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
114 disconnect { 114 disconnect {
115 [[Disconnects from this access point. 115 [[Disconnects from this access point.
116 116
117 When disconnected a previously connected access point it 117 When disconnected previously connected access points
118 won't be forgotten. The configuration and other details 118 won't be forgotten. The configuration and other details
119 such as priority and passphrase will be available for a 119 such as priority and passphrase will be available for
120 future re-connection with call to @.connect. If it is 120 future re-connection with a call to @.connect. If you
121 desired to disconnect and forget all access point 121 need to disconnect and forget all access point
122 information, use @.forget instead. 122 information, use @.forget instead.
123 ]] 123 ]]
124 } 124 }
@@ -127,15 +127,15 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
127 [[Disconnects and forgets about this access point. 127 [[Disconnects and forgets about this access point.
128 128
129 Successful @.connect will always remember the access 129 Successful @.connect will always remember the access
130 point for future re-connections. This method reverts 130 point for future re-connections. This method overrides
131 that by disconnecting and forgetting about the access 131 this by disconnecting and forgetting the access
132 point and its configuration, which will set the 132 point and its configuration, which will set
133 @.remembered to $false. 133 @.remembered to $false.
134 ]] 134 ]]
135 } 135 }
136 136
137 @property state { 137 @property state {
138 [[The current state of this access point. 138 [[The current state of the access point.
139 139
140 Whenever the state changes, "changed" will be emitted. 140 Whenever the state changes, "changed" will be emitted.
141 ]] 141 ]]
@@ -170,16 +170,16 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
170 This property is dynamic and reflects the index of the 170 This property is dynamic and reflects the index of the
171 access point in the current access points list. As 171 access point in the current access points list. As
172 access points may come and go, the value may change at 172 access points may come and go, the value may change at
173 any time and notified with "changed" event. 173 any time and send notifications via the "changed" event.
174 174
175 If set, then it will reorder priorities, moving all other 175 If set, then it will reorder priorities, moving all other
176 services at equal or higher priority up. To move as the 176 services at equal or higher priority up. To move as the
177 first (most priority), then use 0. To move as the last 177 first (most priority), then use 0. To move as the last
178 priority, use UINT32_MAX or the last known priority + 1. 178 priority, use UINT32_MAX or the last known priority + 1.
179 179
180 \@note Only remembered access points may be reordered 180 \@note Only stored access points may be reordered
181 among themselves. Those that are not remembered will 181 among themselves. Those that are not remembered will
182 always come last in random order defined by the backend. 182 always come last in a random order defined by the backend.
183 ]] 183 ]]
184 get { } 184 get { }
185 set { } 185 set { }
@@ -259,9 +259,9 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
259 @property name_servers { 259 @property name_servers {
260 [[DNS (Domain Name Servers) in use for this access point. 260 [[DNS (Domain Name Servers) in use for this access point.
261 261
262 These are the actual values in use, configure them using 262 These are the actual values used. Configure them using
263 @.configuration_name_servers, which may generate change 263 @.configuration_name_servers. This may generate changes
264 to this property, being notified with the "changed" 264 to this property, triggering the "changed"
265 event. 265 event.
266 ]] 266 ]]
267 get { } 267 get { }
@@ -273,9 +273,9 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
273 @property time_servers { 273 @property time_servers {
274 [[NTP (Time Server) in use for this access point. 274 [[NTP (Time Server) in use for this access point.
275 275
276 These are the actual values in use, configure them using 276 These are the actual values used. Configure them using
277 @.configuration_time_servers, which may generate change 277 @.configuration_name_servers. This may generate changes
278 to this property, being notified with the "changed" 278 to this property, triggering the "changed"
279 event. 279 event.
280 ]] 280 ]]
281 get { } 281 get { }
@@ -287,9 +287,9 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
287 @property domains { 287 @property domains {
288 [[Searches domains in use for this access point. 288 [[Searches domains in use for this access point.
289 289
290 These are the actual values in use, configure them using 290 These are the actual values used. Configure them using
291 @.configuration_domains, which may generate change 291 @.configuration_name_servers. This may generate changes
292 to this property, being notified with the "changed" 292 to this property, triggering the "changed"
293 event. 293 event.
294 ]] 294 ]]
295 get { } 295 get { }
@@ -301,9 +301,9 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
301 @property ipv4 { 301 @property ipv4 {
302 [[IPv4 in use for this access point. 302 [[IPv4 in use for this access point.
303 303
304 These are the actual values in use, configure them using 304 These are the actual values used. Configure them using
305 @.configuration_ipv4, which may generate change 305 @.configuration_name_servers. This may generate changes
306 to this property, being notified with the "changed" 306 to this property, triggering the "changed"
307 event. 307 event.
308 ]] 308 ]]
309 get { } 309 get { }
@@ -318,9 +318,9 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
318 @property ipv6 { 318 @property ipv6 {
319 [[IPv6 in use for this access point. 319 [[IPv6 in use for this access point.
320 320
321 These are the actual values in use, configure them using 321 These are the actual values used. Configure them using
322 @.configuration_ipv6, which may generate change 322 @.configuration_name_servers. This may generate changes
323 to this property, being notified with the "changed" 323 to this property, triggering the "changed"
324 event. 324 event.
325 ]] 325 ]]
326 get { } 326 get { }
@@ -336,9 +336,9 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
336 @property proxy { 336 @property proxy {
337 [[Proxy in use for this access point. 337 [[Proxy in use for this access point.
338 338
339 These are the actual values in use, configure them using 339 These are the actual values used. Configure them using
340 @.configuration_proxy, which may generate change 340 @.configuration_name_servers. This may generate changes
341 to this property, being notified with the "changed" 341 to this property, triggering the "changed"
342 event. 342 event.
343 ]] 343 ]]
344 get { } 344 get { }
@@ -353,7 +353,7 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
353 @property configuration_name_servers { 353 @property configuration_name_servers {
354 [[DNS (Domain Name Servers) configured by user for this access point. 354 [[DNS (Domain Name Servers) configured by user for this access point.
355 355
356 These are the user configured values, that will be 356 These are user configured values, which will be
357 applied by the backend system and in turn may result in 357 applied by the backend system and in turn may result in
358 "changed" event to notify of @.name_servers property 358 "changed" event to notify of @.name_servers property
359 with the actual value in use, which may differ from 359 with the actual value in use, which may differ from
@@ -369,9 +369,9 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
369 @property configuration_time_servers { 369 @property configuration_time_servers {
370 [[NTP (Time Server) configured by user for this access point. 370 [[NTP (Time Server) configured by user for this access point.
371 371
372 These are the user configured values, that will be 372 These are user configured values, which will be
373 applied by the backend system and in turn may result in 373 applied by the backend system and in turn may result in
374 "changed" event to notify of @.time_servers property 374 "changed" event to notify of @.name_servers property
375 with the actual value in use, which may differ from 375 with the actual value in use, which may differ from
376 this. 376 this.
377 ]] 377 ]]
@@ -385,7 +385,7 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
385 @property configuration_domains { 385 @property configuration_domains {
386 [[Searches domains configured by user for this access point. 386 [[Searches domains configured by user for this access point.
387 387
388 These are the user configured values, that will be 388 These are user configured values, which will be
389 applied by the backend system and in turn may result in 389 applied by the backend system and in turn may result in
390 "changed" event to notify of @.domains property 390 "changed" event to notify of @.domains property
391 with the actual value in use, which may differ from 391 with the actual value in use, which may differ from
@@ -401,7 +401,7 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
401 @property configuration_ipv4 { 401 @property configuration_ipv4 {
402 [[IPv4 configured by user for this access point. 402 [[IPv4 configured by user for this access point.
403 403
404 These are the user configured values, that will be 404 These are user configured values, which will be
405 applied by the backend system and in turn may result in 405 applied by the backend system and in turn may result in
406 "changed" event to notify of @.ipv4 property 406 "changed" event to notify of @.ipv4 property
407 with the actual value in use, which may differ from 407 with the actual value in use, which may differ from
@@ -420,7 +420,7 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
420 @property configuration_ipv6 { 420 @property configuration_ipv6 {
421 [[IPv6 configured by user for this access point. 421 [[IPv6 configured by user for this access point.
422 422
423 These are the user configured values, that will be 423 These are user configured values, which will be
424 applied by the backend system and in turn may result in 424 applied by the backend system and in turn may result in
425 "changed" event to notify of @.ipv6 property 425 "changed" event to notify of @.ipv6 property
426 with the actual value in use, which may differ from 426 with the actual value in use, which may differ from
@@ -440,7 +440,7 @@ class Efl.Net.Control.Access_Point (Efl.Loop.Consumer) {
440 @property configuration_proxy { 440 @property configuration_proxy {
441 [[Proxy configured by user for this access point. 441 [[Proxy configured by user for this access point.
442 442
443 These are the user configured values, that will be 443 These are user configured values, which will be
444 applied by the backend system and in turn may result in 444 applied by the backend system and in turn may result in
445 "changed" event to notify of @.proxy property 445 "changed" event to notify of @.proxy property
446 with the actual value in use, which may differ from 446 with the actual value in use, which may differ from
diff --git a/src/lib/ecore_con/efl_net_control_technology.eo b/src/lib/ecore_con/efl_net_control_technology.eo
index 2dd1784650..f65d702fc4 100644
--- a/src/lib/ecore_con/efl_net_control_technology.eo
+++ b/src/lib/ecore_con/efl_net_control_technology.eo
@@ -16,13 +16,13 @@ enum Efl.Net.Control.Technology.Type {
16} 16}
17 17
18class Efl.Net.Control.Technology (Efl.Loop.Consumer) { 18class Efl.Net.Control.Technology (Efl.Loop.Consumer) {
19 [[A technology that enables network access points to be controlled. 19 [[A technology that allows control of network access points.
20 20
21 The @Efl.Net.Control is composed of multiple technologies, each 21 The @Efl.Net.Control is composed of multiple technologies, each
22 can be disabled/enabled with @.powered property. 22 can be disabled/enabled with @.powered property.
23 23
24 When powered, the technology will dynamically add and delete 24 When powered, the technology will dynamically create and remove
25 access points to be available in 25 access points in
26 @Efl.Net.Control.access_points. 26 @Efl.Net.Control.access_points.
27 27
28 @since 1.19 28 @since 1.19
@@ -44,16 +44,16 @@ class Efl.Net.Control.Technology (Efl.Loop.Consumer) {
44 @property tethering { 44 @property tethering {
45 [[Tethering allows the default access point to be bridged to all clients connected through the technology. 45 [[Tethering allows the default access point to be bridged to all clients connected through the technology.
46 46
47 A common case is to use the device as a router, such as 47 A common use case is to deploy the device as a router, such as
48 a phone doing tethering allows a laptop to connect to 4G 48 a tethered phone allowing a laptop to connect to a 4G
49 network. 49 network.
50 ]] 50 ]]
51 get { } 51 get { }
52 set { } 52 set { }
53 values { 53 values {
54 enabled: bool; [[Whenever to enable or disable tethering for this technology]] 54 enabled: bool; [[When to enable or disable tethering for this technology.]]
55 identifier: string @optional; [[The name to identify this tethering, in WiFi it will translate to SSID.]] 55 identifier: string @optional; [[The name to identify the tethering. For WiFi this will translate to an SSID.]]
56 passphrase: string @optional; [[The passphrase for this tethering access, in WiFi it will translate to WPA passphrase.]] 56 passphrase: string @optional; [[The passphrase for tethering access. For WiFi this will translate to WPA passphrase.]]
57 } 57 }
58 } 58 }
59 59
@@ -87,14 +87,14 @@ class Efl.Net.Control.Technology (Efl.Loop.Consumer) {
87 The scan will happen asynchronously in the background, 87 The scan will happen asynchronously in the background,
88 with the results being delivered by events in the 88 with the results being delivered by events in the
89 technology, @Efl.Net.Control or @Efl.Net.Control.Access_Point 89 technology, @Efl.Net.Control or @Efl.Net.Control.Access_Point
90 associated with the technology. For example, scan on 90 associated with the technology. For example, a scan on
91 WiFi will add and delete access points. 91 WiFi will add and remove access points.
92 92
93 It is worth to mention that explicit scans should be 93 Try to avoid explicit scans.
94 avoided. Rare cases are when user requested them, like 94 Rare exceptions to this rule include when the user requests them,
95 entering a configuration dialog which demands fresh 95 such as entering a configuration dialog which demands a fresh
96 state. Otherwise prefer to let the system passively do 96 state. Otherwise allow the system to perform
97 scans in a timely manner. 97 passive scans in a timely manner.
98 ]] 98 ]]
99 return: ptr(Eina.Future) @owned; [[Future return for finished background scan]] 99 return: ptr(Eina.Future) @owned; [[Future return for finished background scan]]
100 } 100 }
diff --git a/src/lib/ecore_con/efl_net_dialer.eo b/src/lib/ecore_con/efl_net_dialer.eo
index 8cde0c9246..08cf8434da 100644
--- a/src/lib/ecore_con/efl_net_dialer.eo
+++ b/src/lib/ecore_con/efl_net_dialer.eo
@@ -5,13 +5,13 @@ var Efl.Net.Dialer.Error.PROXY_AUTHENTICATION_FAILED: Eina.Error; [[The dialer f
5interface Efl.Net.Dialer (Efl.Net.Socket) { 5interface Efl.Net.Dialer (Efl.Net.Socket) {
6 [[Creates a client socket to reach a remote peer. 6 [[Creates a client socket to reach a remote peer.
7 7
8 The connection process starts when @.dial is executed, this 8 The connection process starts when @.dial is executed. This
9 allows implementations to request more complex setup that would 9 allows implementations to request more complex setups
10 require a live object handle that is not possible during 10 requiring a live object handle, which is not possible during
11 construction. 11 construction.
12 12
13 The socket should be considered connected and ready to use only 13 The socket should be considered connected and ready to use only
14 when "connected" event is dispatched, by then 14 when "connected" event is dispatched. By then
15 @Efl.Io.Reader.can_read and @Efl.Io.Writer.can_write should 15 @Efl.Io.Reader.can_read and @Efl.Io.Writer.can_write should
16 change accordingly. 16 change accordingly.
17 17
@@ -24,10 +24,10 @@ interface Efl.Net.Dialer (Efl.Net.Socket) {
24 dial { 24 dial {
25 [[Dials to the remote peer. 25 [[Dials to the remote peer.
26 26
27 This method starts the connection process, resolving 27 This method starts the connection process, resolves the
28 address and then proceeding to the actual connection. 28 address and then proceeds to the actual connection.
29 29
30 Once the connection is fully setup, "connected" event is 30 Once the connection is fully setup "connected" event is
31 dispatched. 31 dispatched.
32 ]] 32 ]]
33 params { 33 params {
@@ -39,7 +39,7 @@ interface Efl.Net.Dialer (Efl.Net.Socket) {
39 @property address_dial { 39 @property address_dial {
40 [[Returns the address given to @.dial. 40 [[Returns the address given to @.dial.
41 41
42 If the resolved address is desired, then listen to 42 If the resolved address is required, listen to
43 "resolved" event and use the 43 "resolved" event and use the
44 @Efl.Net.Socket.address_remote property. 44 @Efl.Net.Socket.address_remote property.
45 ]] 45 ]]
@@ -53,7 +53,7 @@ interface Efl.Net.Dialer (Efl.Net.Socket) {
53 @property connected { 53 @property connected {
54 [[Returns whenever the socket is connected or not. 54 [[Returns whenever the socket is connected or not.
55 55
56 Whenever this property becomes true, "connected" event 56 Whenever this property becomes true the "connected" event
57 should be dispatched. 57 should be dispatched.
58 ]] 58 ]]
59 get { } 59 get { }
@@ -70,8 +70,8 @@ interface Efl.Net.Dialer (Efl.Net.Socket) {
70 70
71 - protocol://username:password\@proxyserver:port 71 - protocol://username:password\@proxyserver:port
72 72
73 Where protocol is defined per class, such as a TCP or 73 Where protocol is defined by class, such as a TCP or
74 UDP dialer will use 'socks4', 'socks4a', 'socks5' or 74 UDP, dialer will use 'socks4', 'socks4a', 'socks5' or
75 'socks5h'; while http and websocket will want those or 75 'socks5h'; while http and websocket will want those or
76 'http'. 76 'http'.
77 77
@@ -115,7 +115,7 @@ interface Efl.Net.Dialer (Efl.Net.Socket) {
115 @Efl.Net.Socket.address_remote. 115 @Efl.Net.Socket.address_remote.
116 116
117 This is emitted before "connected" and may 117 This is emitted before "connected" and may
118 be emitted from @Efl.Object.finalize, thus 118 be emitted from @Efl.Object.finalize. As such
119 be sure to connect the callbacks during 119 be sure to connect the callbacks during
120 the object construction. 120 the object construction.
121 121
diff --git a/src/lib/ecore_con/efl_net_dialer_http.eo b/src/lib/ecore_con/efl_net_dialer_http.eo
index 3c2e524b2f..4d18fe52f4 100644
--- a/src/lib/ecore_con/efl_net_dialer_http.eo
+++ b/src/lib/ecore_con/efl_net_dialer_http.eo
@@ -14,17 +14,17 @@ class Efl.Net.Dialer.Http (Efl.Loop.Consumer, Efl.Net.Dialer, Efl.Io.Sizer) {
14 available as @Efl.Net.Socket.address_remote. The 14 available as @Efl.Net.Socket.address_remote. The
15 @Efl.Net.Socket.address_local is an IP:PORT pair. 15 @Efl.Net.Socket.address_local is an IP:PORT pair.
16 16
17 The dialer can do bi-directional information exchange. It can 17 The dialer can perform bi-directional information exchanges. It can
18 also do a PUT and upload a file, or GET and download one. Anoter 18 also do a PUT and upload a file, or GET and download one. It can
19 case is to do a POST with some form values, including a file, 19 also do a POST with some form values, including a file,
20 and retrieve its headers and response body. To make usage more 20 and retrieve its headers and body response. To make usage more
21 streamlined, choose your primary interest with @.primary_mode 21 streamlined, choose your area of interest with @.primary_mode
22 then get some properties such as @Efl.Io.Sizer.size to report or 22 then get some properties such as @Efl.Io.Sizer.size to report or
23 use what matters to your use case. 23 use the information you need.
24 24
25 If @.allow_redirects is $true, multiple "connected" and 25 If @.allow_redirects is $true, multiple "connected" and
26 "resolved" signals will be dispatched, one for each 26 "resolved" signals will be dispatched, one for each
27 connection. Then @.response_status and @.response_headers_get 27 connection. In this case @.response_status and @.response_headers_get
28 will keep changing. Using @.response_headers_all_get one can see 28 will keep changing. Using @.response_headers_all_get one can see
29 the whole history of headers and connections. 29 the whole history of headers and connections.
30 30
@@ -35,7 +35,7 @@ class Efl.Net.Dialer.Http (Efl.Loop.Consumer, Efl.Net.Dialer, Efl.Io.Sizer) {
35 used. On UNIX that's the environment variable $http_proxy (or 35 used. On UNIX that's the environment variable $http_proxy (or
36 '$all_proxy') is used if the given address doesn't match 36 '$all_proxy') is used if the given address doesn't match
37 $no_proxy patterns. To disable proxy use an empty string. If 37 $no_proxy patterns. To disable proxy use an empty string. If
38 provided proxy must be one of the protocols: 38 provided, the proxy must use one of the following protocols:
39 39
40 - http://username:password\@proxyserver:port 40 - http://username:password\@proxyserver:port
41 - http://username\@proxyserver:port 41 - http://username\@proxyserver:port
@@ -88,7 +88,7 @@ class Efl.Net.Dialer.Http (Efl.Loop.Consumer, Efl.Net.Dialer, Efl.Io.Sizer) {
88 @Efl.Io.Sizer.size.get will report the 88 @Efl.Io.Sizer.size.get will report the
89 "Content-Length" provided by the server, if any. 89 "Content-Length" provided by the server, if any.
90 90
91 If is worth to mention that one can provide and 91 You can also provide and
92 retrieve these values using @.request_headers_get (to 92 retrieve these values using @.request_headers_get (to
93 send) and @.response_headers_get (what was received), 93 send) and @.response_headers_get (what was received),
94 as well as using the specific properties 94 as well as using the specific properties
@@ -148,7 +148,7 @@ class Efl.Net.Dialer.Http (Efl.Loop.Consumer, Efl.Net.Dialer, Efl.Io.Sizer) {
148 values { 148 values {
149 username: string; [[HTTP authentication username]] 149 username: string; [[HTTP authentication username]]
150 password: string; [[HTTP authentication password]] 150 password: string; [[HTTP authentication password]]
151 method: Efl.Net.Http.Authentication_Method @optional; [[Authentication method to use, defaults to @Efl.Net.Http.Authentication_Method.basic]] 151 method: Efl.Net.Http.Authentication_Method @optional; [[Authentication method to use. Defaults to @Efl.Net.Http.Authentication_Method.basic]]
152 restricted: bool @optional; [[Restrict method]] 152 restricted: bool @optional; [[Restrict method]]
153 } 153 }
154 } 154 }
@@ -228,12 +228,12 @@ class Efl.Net.Dialer.Http (Efl.Loop.Consumer, Efl.Net.Dialer, Efl.Io.Sizer) {
228 @property response_status { 228 @property response_status {
229 [[The HTTP response status of this request. 229 [[The HTTP response status of this request.
230 230
231 It will be 0 if not connected, otherwise will be what is 231 This will be 0 if not connected, otherwise it'll be whatever is
232 returned by the server, such as. 232 returned by the server.
233 233
234 See https://en.wikipedia.org/wiki/List_of_HTTP_status_codes 234 See https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
235 235
236 This will be usable after "connected" event is dispatched. 236 This will be usable after the "connected" event is dispatched.
237 ]] 237 ]]
238 get { } 238 get { }
239 values { 239 values {
@@ -244,13 +244,13 @@ class Efl.Net.Dialer.Http (Efl.Loop.Consumer, Efl.Net.Dialer, Efl.Io.Sizer) {
244 response_headers_get { 244 response_headers_get {
245 [[Returns an iterator to the key-value pairs for the last response headers. 245 [[Returns an iterator to the key-value pairs for the last response headers.
246 246
247 Since multiple requests can happen if @.allow_redirects 247 Since multiple requests can occur if @.allow_redirects
248 is true, then all headers will be accumulated. This 248 is true, then all headers will be accumulated. This
249 method returns only the headers for the last request. 249 method returns only the headers for the last request.
250 250
251 To know all the headers, check @.response_headers_all_get. 251 To list all the headers, check @.response_headers_all_get.
252 252
253 This will be usable after "headers,done" event is dispatched. 253 This will be usable after the "headers,done" event is dispatched.
254 ]] 254 ]]
255 return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator for response headers]] 255 return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator for response headers]]
256 } 256 }
@@ -258,10 +258,10 @@ class Efl.Net.Dialer.Http (Efl.Loop.Consumer, Efl.Net.Dialer, Efl.Io.Sizer) {
258 response_headers_all_get { 258 response_headers_all_get {
259 [[Returns an iterator to the key-value pairs for all response headers. 259 [[Returns an iterator to the key-value pairs for all response headers.
260 260
261 Since multiple requests can happen if @.allow_redirects 261 Since multiple requests can occur if @.allow_redirects
262 is true, then all headers will be accumulated. To know 262 is true, then all headers will be accumulated. To know
263 when new request is started, check for headers with keys 263 when a new request's been started, check for headers with keys
264 being NULL, the value will be the "HTTP/VERSION RESPONSE" 264 being NULL. The value will be the "HTTP/VERSION RESPONSE"
265 string received from the host, such as: 265 string received from the host, such as:
266 266
267 - key=NULL, value="HTTP/1.1 302 Found" 267 - key=NULL, value="HTTP/1.1 302 Found"
@@ -269,23 +269,23 @@ class Efl.Net.Dialer.Http (Efl.Loop.Consumer, Efl.Net.Dialer, Efl.Io.Sizer) {
269 - key=NULL, value="HTTP/1.1 200 Ok" 269 - key=NULL, value="HTTP/1.1 200 Ok"
270 - key="Content-Type", value="text/html" 270 - key="Content-Type", value="text/html"
271 271
272 Which mean the original request had a redirect to 272 This means the original request had a redirect to
273 http://someredirect.com. 273 http://someredirect.com.
274 274
275 To receive an iterator to just the last request, use 275 To receive an iterator to only the last request, use
276 @.response_headers_get 276 @.response_headers_get
277 277
278 This will be usable after "headers,done" event is dispatched. 278 This will be usable after the "headers,done" event is dispatched.
279 ]] 279 ]]
280 return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator for all response headers]] 280 return: iterator<ptr(Efl.Net.Http.Header)> @owned @warn_unused; [[Iterator for all response headers]]
281 } 281 }
282 282
283 response_headers_clear { 283 response_headers_clear {
284 [[Saves some memory by disposing the received headers]] 284 [[Saves memory by disposing of the received headers]]
285 } 285 }
286 286
287 @property progress_download { 287 @property progress_download {
288 [[How many bytes were downloaded and how much was expected.]] 288 [[How many bytes were downloaded and how many were expected.]]
289 get { } 289 get { }
290 values { 290 values {
291 downloaded: uint64 @optional; [[Downloaded bytes so far]] 291 downloaded: uint64 @optional; [[Downloaded bytes so far]]
@@ -294,7 +294,7 @@ class Efl.Net.Dialer.Http (Efl.Loop.Consumer, Efl.Net.Dialer, Efl.Io.Sizer) {
294 } 294 }
295 295
296 @property progress_upload { 296 @property progress_upload {
297 [[How many bytes were uploaded and how much was expected.]] 297 [[How many bytes were uploaded and how many were expected.]]
298 get { } 298 get { }
299 values { 299 values {
300 uploaded: uint64 @optional; [[Uploaded bytes so far]] 300 uploaded: uint64 @optional; [[Uploaded bytes so far]]
@@ -303,29 +303,29 @@ class Efl.Net.Dialer.Http (Efl.Loop.Consumer, Efl.Net.Dialer, Efl.Io.Sizer) {
303 } 303 }
304 304
305 @property cookie_jar { 305 @property cookie_jar {
306 [[This property sets the filename where to read and write cookies. 306 [[This property sets the filename to read and write cookies.
307 307
308 By setting a file to load and persist cookies to, the 308 By setting a file to load and store cookies, the
309 internal cookie system will be activated, automatically 309 internal cookie system will be activated, automatically
310 handling HTTP headers such as 'Set-cookie:' and sending 310 handling HTTP headers such as 'Set-cookie:' and sending
311 the appropriate cookies for a server. 311 the appropriate cookies for the server.
312 312
313 If a new, empty session is to be used, start with an 313 If a new, empty session is to be used, start with an
314 empty or non-existent file such as created with 314 empty or non-existent file such as created with
315 mkstemp() or tmpfile(). An alternative is to use an 315 mkstemp() or tmpfile(). Alternatively use an
316 empty string ("") to keep it in memory. 316 empty string ("") to store it in memory.
317 317
318 If it is desired to start from a pre-existent cookie jar 318 If you want to start from a pre-existing cookie jar
319 but do not want to modify that, first copy that file and 319 but do not want to modify it, first copy that file and
320 then pass the new, temporary file. 320 then pass the new, temporary file.
321 321
322 Likewise, if it's desired to fill some cookies to the 322 Likewise, if you want to add cookies to the
323 system, create a cookie jar and pass its path to this 323 system, create a cookie jar and pass its path to this
324 property. 324 property.
325 325
326 \@note that whenever this property is set, even if to the 326 \@note that whenever this property is set, even if to the
327 same value, it will flush all cookies to the previously 327 same value, it will flush all cookies to the previously
328 set file, then erase all known cookies, then use the new 328 set file, then erase all known cookies. It will then use the new
329 file (if any). 329 file (if any).
330 ]] 330 ]]
331 get { } 331 get { }
@@ -342,7 +342,7 @@ class Efl.Net.Dialer.Http (Efl.Loop.Consumer, Efl.Net.Dialer, Efl.Io.Sizer) {
342 ]] 342 ]]
343 values { 343 values {
344 peer: bool; [[If $true, SSL certificate will be verified. If $false, untrusted certificates (including self signed) will be accepted.]] 344 peer: bool; [[If $true, SSL certificate will be verified. If $false, untrusted certificates (including self signed) will be accepted.]]
345 hostname: bool; [[If $true, in addition to SSL certificate validation, the server name will be matched to certificate DNS entries]] 345 hostname: bool; [[If $true, in addition to SSL certificate validation the server name will be matched to certificate DNS entries]]
346 } 346 }
347 } 347 }
348 348
diff --git a/src/lib/ecore_con/efl_net_dialer_simple.eo b/src/lib/ecore_con/efl_net_dialer_simple.eo
index b26cfd1d47..ceeca6c64d 100644
--- a/src/lib/ecore_con/efl_net_dialer_simple.eo
+++ b/src/lib/ecore_con/efl_net_dialer_simple.eo
@@ -1,17 +1,17 @@
1class Efl.Net.Dialer.Simple (Efl.Net.Socket.Simple, Efl.Net.Dialer) { 1class Efl.Net.Dialer.Simple (Efl.Net.Socket.Simple, Efl.Net.Dialer) {
2 [[Connects to a remote server offering an easy to use, buffered I/O. 2 [[Connects to a remote server offering an easy to use, buffered I/O.
3 3
4 The simple dialer is based on @Efl.Net.Socket.Simple, that 4 The simple dialer is based on @Efl.Net.Socket.Simple, which
5 encapsulates an actual @Efl.Net.Socket, and uses it with an 5 encapsulates an actual @Efl.Net.Socket and uses it with an
6 @Efl.Io.Buffered_Stream, which creates an input @Efl.Io.Queue, 6 @Efl.Io.Buffered_Stream. This creates an input @Efl.Io.Queue,
7 an output @Efl.Io.Queue and these are linked using a receiver 7 an output @Efl.Io.Queue. Both of these are linked using a receiver
8 and a sender @Efl.Io.Copier. 8 and a sender @Efl.Io.Copier.
9 9
10 The idea is that unlike traditional @Efl.Net.Socket that will 10 The idea is that unlike the traditional @Efl.Net.Socket which
11 attempt to write directly to socket and thus may take less data 11 attempts to write directly to the socket and thus may take less data
12 than requested, this one will keep the pending data in its own 12 than requested, this one will keep the pending data in its own
13 buffer, feeding to the actual socket when it 13 buffer, feeding it to the actual socket when
14 @Efl.Io.Writer.can_write. That makes its operation much simpler 14 @Efl.Io.Writer.can_write occurs. This makes its operation much simpler
15 as @Efl.Io.Writer.write will always take the full data -- allows 15 as @Efl.Io.Writer.write will always take the full data -- allows
16 "write and forget", if unlimited (see 16 "write and forget", if unlimited (see
17 @Efl.Io.Buffered_Stream.max_queue_size_output). 17 @Efl.Io.Buffered_Stream.max_queue_size_output).
@@ -24,15 +24,15 @@ class Efl.Net.Dialer.Simple (Efl.Net.Socket.Simple, Efl.Net.Dialer) {
24 @Efl.Io.Buffered_Stream.discard or 24 @Efl.Io.Buffered_Stream.discard or
25 @Efl.Io.Buffered_Stream.clear. 25 @Efl.Io.Buffered_Stream.clear.
26 26
27 Then when waiting for a complete message, just peek at its 27 When waiting for a complete message, you can then just peek at its
28 contents, if not complete do nothing, if complete then either 28 contents. If it's incomplete do nothing, if complete then either
29 @Efl.Io.Reader.read to get a copy or manipulate a read-only 29 @Efl.Io.Reader.read to get a copy or manipulate a read-only
30 reference from @Efl.Io.Buffered_Stream.slice and then 30 reference from @Efl.Io.Buffered_Stream.slice and then
31 @Efl.Io.Buffered_Stream.discard 31 @Efl.Io.Buffered_Stream.discard
32 32
33 The actual dialer is created using the class given as the 33 The actual dialer is created using the class given as the
34 constructor property @.inner_class and can be retrieved with 34 constructor property @.inner_class and can be retrieved with
35 @Efl.Io.Buffered_Stream.inner_io, which should be used with 35 @Efl.Io.Buffered_Stream.inner_io. This should be used with
36 care, like extra configuration before @Efl.Net.Dialer.dial is 36 care, like extra configuration before @Efl.Net.Dialer.dial is
37 called. 37 called.
38 38
diff --git a/src/lib/ecore_con/efl_net_dialer_websocket.eo b/src/lib/ecore_con/efl_net_dialer_websocket.eo
index 27f797482a..d927474031 100644
--- a/src/lib/ecore_con/efl_net_dialer_websocket.eo
+++ b/src/lib/ecore_con/efl_net_dialer_websocket.eo
@@ -54,15 +54,15 @@ class Efl.Net.Dialer.Websocket (Efl.Loop.Consumer, Efl.Net.Dialer) {
54 a message-based protocol over HTTP, this allows it to leverage 54 a message-based protocol over HTTP, this allows it to leverage
55 on authentication, cookies, proxies and SSL/TLS. 55 on authentication, cookies, proxies and SSL/TLS.
56 56
57 It's worth to note that although it uses the HTTP dialer, it's 57 Although it uses the HTTP dialer, it's
58 not a subclass and thus not all HTTP features are exposed as the 58 not a subclass and thus not all HTTP features are exposed as the
59 WebSocket has strict requirements that must be respected. 59 WebSocket has strict requirements that must be respected.
60 60
61 If the proxy is NULL (default), then the system proxy will be 61 If the proxy is NULL (default), then the system proxy will be
62 used. On UNIX that's the environment variable $http_proxy (or 62 used. On UNIX that's the environment variable $http_proxy (or
63 '$all_proxy') is used if the given address doesn't match 63 '$all_proxy') is used if the given address doesn't match
64 $no_proxy patterns. To disable proxy use an empty string. If 64 $no_proxy patterns. To disable the proxy use an empty string. If
65 provided proxy must be one of the protocols: 65 provided, the proxy must be one of the following protocols:
66 66
67 - http://username:password\@proxyserver:port 67 - http://username:password\@proxyserver:port
68 - http://username\@proxyserver:port 68 - http://username\@proxyserver:port
@@ -82,7 +82,7 @@ class Efl.Net.Dialer.Websocket (Efl.Loop.Consumer, Efl.Net.Dialer) {
82 ping { 82 ping {
83 [[Sends a PING (opcode=0x9) to the server. 83 [[Sends a PING (opcode=0x9) to the server.
84 84
85 The server should reply with a PONG, that will be 85 The server should reply with a PONG, which will be
86 emitted as "pong" event. 86 emitted as "pong" event.
87 ]] 87 ]]
88 88
@@ -94,10 +94,10 @@ class Efl.Net.Dialer.Websocket (Efl.Loop.Consumer, Efl.Net.Dialer) {
94 text_send { 94 text_send {
95 [[Sends an UTF-8 TEXT (opcode=0x1) to the server. 95 [[Sends an UTF-8 TEXT (opcode=0x1) to the server.
96 96
97 The text goes in a message will be delivered as a single 97 The message text will be delivered as a single
98 entity to the remote peer. 98 entity to the remote peer.
99 99
100 The text is copied into a local buffer, no references 100 The text is copied into a local buffer. No references
101 are kept after this method returns. 101 are kept after this method returns.
102 ]] 102 ]]
103 params { 103 params {
@@ -108,7 +108,7 @@ class Efl.Net.Dialer.Websocket (Efl.Loop.Consumer, Efl.Net.Dialer) {
108 binary_send { 108 binary_send {
109 [[Sends a binary blob (opcode=0x2) to the server. 109 [[Sends a binary blob (opcode=0x2) to the server.
110 110
111 The slice describing the blob goes in a message will be 111 The slice describing the blob goes in a message which will be
112 delivered as a single entity to the remote peer. 112 delivered as a single entity to the remote peer.
113 113
114 The memory is copied into a local buffer, no references 114 The memory is copied into a local buffer, no references
@@ -123,16 +123,16 @@ class Efl.Net.Dialer.Websocket (Efl.Loop.Consumer, Efl.Net.Dialer) {
123 [[Requests (opcode=0x8) the server to terminate the connection. 123 [[Requests (opcode=0x8) the server to terminate the connection.
124 124
125 Unlike @Efl.Io.Closer.close, this won't abruptly close 125 Unlike @Efl.Io.Closer.close, this won't abruptly close
126 the connection, rather will queue a message requesting 126 the connection, rather it'll queue a message requesting
127 the server to gracefully close it. 127 the server to gracefully close it.
128 128
129 After this method is called you should consider the 129 After this method is called you should consider the
130 object in "closing" state, no more messages can be sent 130 object in "closing" state. No more messages can be sent
131 (@.text_send, @.binary_send and @.ping will fail). 131 (@.text_send, @.binary_send and @.ping will fail).
132 132
133 The object will be automatically closed with 133 The object will be automatically closed with
134 @Efl.Io.Closer.close once the serve replies with his own 134 @Efl.Io.Closer.close once the server replies with his own
135 close message, that will be reported as "closed,reason". 135 close message, which will be reported as "closed,reason".
136 ]] 136 ]]
137 params { 137 params {
138 reason: Efl.Net.Dialer.Websocket.Close_Reason; [[Reason for closing]] 138 reason: Efl.Net.Dialer.Websocket.Close_Reason; [[Reason for closing]]
@@ -215,7 +215,7 @@ class Efl.Net.Dialer.Websocket (Efl.Loop.Consumer, Efl.Net.Dialer) {
215 values { 215 values {
216 username: string; [[HTTP authentication username]] 216 username: string; [[HTTP authentication username]]
217 password: string; [[HTTP authentication password]] 217 password: string; [[HTTP authentication password]]
218 method: Efl.Net.Http.Authentication_Method @optional; [[Authentication method to use, defaults to @Efl.Net.Http.Authentication_Method.basic]] 218 method: Efl.Net.Http.Authentication_Method @optional; [[The authentication method to use. Defaults to @Efl.Net.Http.Authentication_Method.basic]]
219 restricted: bool @optional; [[Restrict method]] 219 restricted: bool @optional; [[Restrict method]]
220 } 220 }
221 } 221 }
@@ -274,21 +274,21 @@ class Efl.Net.Dialer.Websocket (Efl.Loop.Consumer, Efl.Net.Dialer) {
274 @property cookie_jar { 274 @property cookie_jar {
275 [[This property sets the filename where to read and write cookies. 275 [[This property sets the filename where to read and write cookies.
276 276
277 By setting a file to load and persist cookies to, the 277 By setting a file to load and store cookies, the
278 internal cookie system will be activated, automatically 278 internal cookie system will be activated, automatically
279 handling HTTP headers such as 'Set-cookie:' and sending 279 handling HTTP headers such as 'Set-cookie:' and sending
280 the appropriate cookies for a server. 280 the appropriate cookies for a server.
281 281
282 If a new, empty session is to be used, start with an 282 If a new, empty session is to be used, start with an
283 empty or non-existent file such as created with 283 empty or non-existent file such as one created with
284 mkstemp() or tmpfile(). An alternative is to use an 284 mkstemp() or tmpfile(). Alternatively use an
285 empty string ("") to keep it in memory. 285 empty string ("") to keep it in memory.
286 286
287 If it is desired to start from a pre-existent cookie jar 287 If you want to start from a pre-existent cookie jar
288 but do not want to modify that, first copy that file and 288 but do not want to modify it, first copy that file and
289 then pass the new, temporary file. 289 then pass the new, temporary file.
290 290
291 Likewise, if it's desired to fill some cookies to the 291 Likewise, if you want to store some cookies in the
292 system, create a cookie jar and pass its path to this 292 system, create a cookie jar and pass its path to this
293 property. 293 property.
294 294
diff --git a/src/lib/ecore_con/efl_net_ip_address.eo b/src/lib/ecore_con/efl_net_ip_address.eo
index b3fc564737..e715a0c7bb 100644
--- a/src/lib/ecore_con/efl_net_ip_address.eo
+++ b/src/lib/ecore_con/efl_net_ip_address.eo
@@ -9,14 +9,14 @@ struct Efl.Net.Ip_Address.Resolve_Results {
9 ]] 9 ]]
10 request_address: string; [[The 'address' argument given to Efl.Net.Ip_Address.resolve]] 10 request_address: string; [[The 'address' argument given to Efl.Net.Ip_Address.resolve]]
11 canonical_name: string; [[The canonical name, if it was requested in flags]] 11 canonical_name: string; [[The canonical name, if it was requested in flags]]
12 results: array<Efl.Net.Ip_Address>; [[The resolved objects. Do not modify this array, but you can keep reference to elements using efl_ref() and efl_unref()]] 12 results: array<Efl.Net.Ip_Address>; [[The resolved objects. Do not modify this array but you can keep reference to elements using efl_ref() and efl_unref()]]
13} 13}
14 14
15class Efl.Net.Ip_Address (Efl.Object) { 15class Efl.Net.Ip_Address (Efl.Object) {
16 [[An Internet Protocol (IP) Address. 16 [[An Internet Protocol (IP) Address.
17 17
18 This class is a set of helpers to translate to and from address 18 This class is a set of helpers to translate to and from address
19 strings used in Efl.Net. For IP they take the formats: 19 strings used in Efl.Net. For IP they take the following formats:
20 20
21 - IPv4 complete: 127.0.0.1:1234 21 - IPv4 complete: 127.0.0.1:1234
22 - IPv4 no port: 127.0.0.1 22 - IPv4 no port: 127.0.0.1
@@ -24,9 +24,9 @@ class Efl.Net.Ip_Address (Efl.Object) {
24 - IPv6 no port: [::1] 24 - IPv6 no port: [::1]
25 - IPv6 no braces (implies no port): ::1 25 - IPv6 no braces (implies no port): ::1
26 26
27 However in other libraries one may use the address numbers or 27 However in other libraries you can use the address numbers or
28 even a 'struct sockaddr' handle and translating by yourself may 28 even a 'struct sockaddr' handle. Translating by yourself may
29 be too much work. To convert to a string, just create an 29 be too much work. To convert to a string just create an
30 instance with @.create or @.create_sockaddr and then query 30 instance with @.create or @.create_sockaddr and then query
31 @.string. To convert from numeric string to sockaddr, create an 31 @.string. To convert from numeric string to sockaddr, create an
32 instance with @.parse and then query @.sockaddr. 32 instance with @.parse and then query @.sockaddr.
@@ -58,9 +58,9 @@ class Efl.Net.Ip_Address (Efl.Object) {
58 create_sockaddr @class { 58 create_sockaddr @class {
59 [[Creates an object given sockaddr 59 [[Creates an object given sockaddr
60 60
61 This is a convenience to create an object in a single call. 61 This is a convenient way to create an object in a single call.
62 To create based on native port and address bytes, 62 To create based on native port and address bytes
63 use @.create, to create from string use @.parse. 63 use @.create. To create from a string use @.parse.
64 ]] 64 ]]
65 params { 65 params {
66 sockaddr: const(void_ptr) @nonull; [[The pointer to struct sockaddr-compatible handle as per <netinet/in.h>.]] 66 sockaddr: const(void_ptr) @nonull; [[The pointer to struct sockaddr-compatible handle as per <netinet/in.h>.]]
@@ -108,7 +108,7 @@ class Efl.Net.Ip_Address (Efl.Object) {
108 and port. 108 and port.
109 ]] 109 ]]
110 params { 110 params {
111 address: string @nonull; [[The address such as enlightenment.org:http or enlightenment.org (port=0)]] 111 address: string @nonull; [[The address, such as enlightenment.org:http or enlightenment.org (port=0)]]
112 family: int @optional; [[Preferred family. AF_UNSPEC or 0 for both, otherwise one of AF_INET or AF_INET6]] 112 family: int @optional; [[Preferred family. AF_UNSPEC or 0 for both, otherwise one of AF_INET or AF_INET6]]
113 flags: int @optional; [[Flags to use with getaddrinfo(). If 0, default flags are used (AI_V4MAPPED | AI_ADDRCONFIG, if these exist in your system).]] 113 flags: int @optional; [[Flags to use with getaddrinfo(). If 0, default flags are used (AI_V4MAPPED | AI_ADDRCONFIG, if these exist in your system).]]
114 } 114 }
@@ -134,7 +134,7 @@ class Efl.Net.Ip_Address (Efl.Object) {
134 @property family { 134 @property family {
135 [[The address family, one of AF_INET6 or AF_INET. 135 [[The address family, one of AF_INET6 or AF_INET.
136 136
137 May only be set once, afterwards the object is not changing. 137 May only be set once. Afterwards the object does not change.
138 ]] 138 ]]
139 values { 139 values {
140 family: int; [[AF_INET or AF_INET6]] 140 family: int; [[AF_INET or AF_INET6]]
@@ -144,7 +144,7 @@ class Efl.Net.Ip_Address (Efl.Object) {
144 @property port { 144 @property port {
145 [[The address port in Host/Native endianess. 145 [[The address port in Host/Native endianess.
146 146
147 May only be set once, afterwards the object is not changing. 147 May only be set once. Afterwards the object does not change.
148 148
149 Must be set after @.family. 149 Must be set after @.family.
150 ]] 150 ]]
@@ -156,7 +156,7 @@ class Efl.Net.Ip_Address (Efl.Object) {
156 @property address { 156 @property address {
157 [[The bytes representing the address. 157 [[The bytes representing the address.
158 158
159 May only be set once, afterwards the object is not changing. 159 May only be set once. Afterwards the object does not change.
160 160
161 Must be set after @.family. 161 Must be set after @.family.
162 ]] 162 ]]
@@ -168,7 +168,7 @@ class Efl.Net.Ip_Address (Efl.Object) {
168 @property sockaddr { 168 @property sockaddr {
169 [[The <netinet/in.h>-compatible 'struct sockaddr'. 169 [[The <netinet/in.h>-compatible 'struct sockaddr'.
170 170
171 May only be set once, afterwards the object is not changing. 171 May only be set once. Afterwards the object does not change.
172 ]] 172 ]]
173 values { 173 values {
174 sockaddr: const(void_ptr) @nonull; [[Sockaddr struct. As usual with struct sockaddr, the first field, struct sockaddr::sa_family, defines the rest of the structure and how the whole structure must be interpreted. If AF_INET is struct sockaddr_in, AF_INET6 is struct sockaddr_in6.]] 174 sockaddr: const(void_ptr) @nonull; [[Sockaddr struct. As usual with struct sockaddr, the first field, struct sockaddr::sa_family, defines the rest of the structure and how the whole structure must be interpreted. If AF_INET is struct sockaddr_in, AF_INET6 is struct sockaddr_in6.]]
diff --git a/src/lib/ecore_con/efl_net_server.eo b/src/lib/ecore_con/efl_net_server.eo
index ab26e22a9b..f6d29c4066 100644
--- a/src/lib/ecore_con/efl_net_server.eo
+++ b/src/lib/ecore_con/efl_net_server.eo
@@ -1,20 +1,20 @@
1interface Efl.Net.Server { 1interface Efl.Net.Server {
2 [[The basic server interface. 2 [[The basic server interface.
3 3
4 It will start serving and accepting clients once @.serve is 4 This will start serving and accepting clients once @.serve is
5 called and the "serving" event is dispatched. 5 called and the "serving" event is dispatched.
6 6
7 When new clients are accepted, then "client,add" event is 7 When new clients are accepted the "client,add" event is
8 dispatched with a child object implementing @Efl.Net.Socket 8 dispatched with a child object implementing @Efl.Net.Socket
9 interface. These implement the standard @Efl.Io.Reader, 9 interface. These implement the standard @Efl.Io.Reader,
10 @Efl.Io.Writer and @Efl.Io.Closer interfaces, thus can be used 10 @Efl.Io.Writer and @Efl.Io.Closer interfaces, so can be used
11 with utilities such as @Efl.Io.Copier. 11 with utilities such as @Efl.Io.Copier.
12 12
13 @since 1.19 13 @since 1.19
14 ]] 14 ]]
15 15
16 events { 16 events {
17 client,add @hot: Efl.Net.Socket; [[A new client socket was created. 17 client,add @hot: Efl.Net.Socket; [[A new client socket has been created.
18 18
19 The socket will have the 19 The socket will have the
20 server as parent and can be 20 server as parent and can be
@@ -26,7 +26,7 @@ interface Efl.Net.Server {
26 excess, see @.clients_limit. 26 excess, see @.clients_limit.
27 ]] 27 ]]
28 28
29 error: Eina.Error; [[Some error happened and the server needs 29 error: Eina.Error; [[An error has occurred and the server needs
30 to be stopped. 30 to be stopped.
31 ]] 31 ]]
32 serving; [[Notifies the server is ready to accept clients. 32 serving; [[Notifies the server is ready to accept clients.
@@ -37,11 +37,11 @@ interface Efl.Net.Server {
37 serve { 37 serve {
38 [[Starts serving requests. 38 [[Starts serving requests.
39 39
40 This method starts the server, resolving address and 40 This method starts the server, resolves addresses and
41 then proceeding to the actual listen(2)/bind(2) 41 then proceeds to the actual listen(2)/bind(2)
42 equivalent.. 42 equivalent..
43 43
44 Once the connection is fully setup, "serving" event is 44 Once the connection is fully set up the "serving" event is
45 dispatched. 45 dispatched.
46 ]] 46 ]]
47 params { 47 params {
@@ -51,14 +51,14 @@ interface Efl.Net.Server {
51 } 51 }
52 52
53 @property address { 53 @property address {
54 [[The address the server is bound to. 54 [[The address to which the server is bound.
55 55
56 The actual value depends on the type of server, like an 56 The actual value depends on the type of server, such as an
57 IPv4 (ip:port) or IPv6 ([ip]:port) formatted for a 57 IPv4 (ip:port) or IPv6 ([ip]:port) formatted for a
58 TCP/UDP server, the path if an Unix Local... 58 TCP/UDP server, the path if an Unix Local...
59 59
60 It's always resolved, then if operations are working 60 It's always resolved. If operations are working
61 with domain names or URL, this is the values the kernel 61 with domain names or URLs, these are the values the kernel
62 reports. It's similar to getsockname() in behavior. 62 reports. It's similar to getsockname() in behavior.
63 ]] 63 ]]
64 get { } 64 get { }
@@ -69,7 +69,7 @@ interface Efl.Net.Server {
69 } 69 }
70 70
71 @property clients_count { 71 @property clients_count {
72 [[Number of concurrent clients accepted by this server.]] 72 [[Number of concurrent clients accepted by the server.]]
73 get { } 73 get { }
74 set @protected { } 74 set @protected { }
75 values { 75 values {
@@ -78,7 +78,7 @@ interface Efl.Net.Server {
78 } 78 }
79 79
80 @property clients_limit { 80 @property clients_limit {
81 [[Number of maximum concurrent clients allowed by this server. 81 [[Number of maximum concurrent clients allowed by the server.
82 82
83 If reject_excess is set to true, then the connection 83 If reject_excess is set to true, then the connection
84 will be accepted and immediately closed. 84 will be accepted and immediately closed.
diff --git a/src/lib/ecore_con/efl_net_server_fd.eo b/src/lib/ecore_con/efl_net_server_fd.eo
index 4cc667637b..db558ec6d7 100644
--- a/src/lib/ecore_con/efl_net_server_fd.eo
+++ b/src/lib/ecore_con/efl_net_server_fd.eo
@@ -6,48 +6,48 @@ class Efl.Net.Server.Fd (Efl.Loop.Fd, Efl.Net.Server) {
6 6
7 methods { 7 methods {
8 socket_activate { 8 socket_activate {
9 [[If this method is called use an already activated socket. 9 [[If this method is called, use an already activated socket.
10 10
11 This method allows a server to use an existing socket 11 This method allows a server to use an existing socket
12 received from systemd or similar system. 12 received from systemd or any similar system.
13 13
14 It will replace @Efl.Net.Server.serve, thus if this is 14 It will replace @Efl.Net.Server.serve, thus if this is
15 used, that method will return EALREADY. 15 used, this method will return EALREADY.
16 16
17 \@note The parameter 'address' given to this function is 17 \@note The parameter 'address' given to this function is
18 only used to validate the next socket available, it 18 only used to validate the next socket available. It
19 doesn't search for a socket with the given address. Thus 19 doesn't search for a socket with the given address. Thus
20 the socket to be used is the next unused and orders 20 the socket to be used is the next unused one : order
21 matter is using multiple servers! 21 matters if using multiple servers!
22 22
23 \@note subclasses must validate the socket and return 23 \@note subclasses must validate the socket and return
24 EINVAL prior to call the base class with 24 EINVAL prior to call the base class with
25 Efl.Object.super. They must also emit "serving" when 25 Efl.Object.super. They must also emit "serving" when
26 ready, for instance stream protocols may need to check 26 ready. For instance stream protocols may need to check
27 for listening and if not try to listen. Usually they 27 for listening and if not, try to listen. Usually they
28 will also query getsockname() and set 28 will also query getsockname() and set
29 @Efl.Net.Server.address. 29 @Efl.Net.Server.address.
30 30
31 Errors: 31 Errors:
32 32
33 - EALREADY: already have a socket, either from 33 - EALREADY: There already is a socket, either from
34 previous @.socket_activate or 34 previous @.socket_activate or
35 @Efl.Net.Server.serve. Usually represents a 35 @Efl.Net.Server.serve. Usually represents a
36 programming error. 36 programming error.
37 37
38 - ENOENT: no sockets received from process manager 38 - ENOENT: No sockets received from process manager
39 (ie: systemd). Usually this is not a fatal error, 39 (ie: systemd). Usually this is not a fatal error,
40 just proceed by calling @Efl.Net.Server.serve 40 just proceed by calling @Efl.Net.Server.serve
41 41
42 - EINVAL: the socket received is not of the correct 42 - EINVAL: the socket received is not of the correct
43 family, type or protocol. Usually this means a 43 family, type or protocol. Usually this means a
44 configuration mismatch with the order of server 44 configuration mismatch between the order of server
45 creation and calls to socket_activate. The 45 creation and calls to socket_activate. The
46 systemd.socket entries must match the order in your 46 systemd.socket entries must match the order in your
47 application. 47 application.
48 ]] 48 ]]
49 params { 49 params {
50 address: string; [[The address to validate the next available socket. It doesn't serve as search, only as validation!]] 50 address: string; [[The address to validate the next available socket. It cannot be used to search, only for validation.]]
51 } 51 }
52 return: Eina.Error; [[$0 on success, ENOENT if no socket is available or EALREADY if already have a socket]] 52 return: Eina.Error; [[$0 on success, ENOENT if no socket is available or EALREADY if already have a socket]]
53 } 53 }
@@ -71,8 +71,8 @@ class Efl.Net.Server.Fd (Efl.Loop.Fd, Efl.Net.Server) {
71 @property close_on_exec { 71 @property close_on_exec {
72 [[Controls Close-on-Exec() using FD_CLOEXEC. 72 [[Controls Close-on-Exec() using FD_CLOEXEC.
73 73
74 Children socket will inherit the server's setting by 74 Child sockets inherit the server's settings by
75 default. One can change the behavior using each instance 75 default. You can change the behavior using each instance
76 @Efl.Io.Closer.close_on_exec.set. Defaults to $true. 76 @Efl.Io.Closer.close_on_exec.set. Defaults to $true.
77 ]] 77 ]]
78 get { } 78 get { }
@@ -125,7 +125,7 @@ class Efl.Net.Server.Fd (Efl.Loop.Fd, Efl.Net.Server) {
125 [[Accepts a new client, should emit "client,add". 125 [[Accepts a new client, should emit "client,add".
126 126
127 Remember to create the client object with a callback to 127 Remember to create the client object with a callback to
128 EFL_IO_CLOSER_EVENT_CLOSED during the construction and 128 EFL_IO_CLOSER_EVENT_CLOSED during the construction,
129 decrease @Efl.Net.Server.clients_count as well as unref 129 decrease @Efl.Net.Server.clients_count as well as unref
130 the client and remove yourself as parent. 130 the client and remove yourself as parent.
131 131
@@ -136,7 +136,7 @@ class Efl.Net.Server.Fd (Efl.Loop.Fd, Efl.Net.Server) {
136 client file descriptor. 136 client file descriptor.
137 ]] 137 ]]
138 params { 138 params {
139 client_fd: int; [[The file descriptor of the client socket. It comes preconfigured with close_on_exec. On failure, remember to close this socket]] 139 client_fd: int; [[The file descriptor of the client socket. It comes preconfigured with close_on_exec. On failure, remember to close this socket.]]
140 } 140 }
141 } 141 }
142 142
diff --git a/src/lib/ecore_con/efl_net_server_simple.eo b/src/lib/ecore_con/efl_net_server_simple.eo
index 3dbd3ceede..0b76579348 100644
--- a/src/lib/ecore_con/efl_net_server_simple.eo
+++ b/src/lib/ecore_con/efl_net_server_simple.eo
@@ -1,8 +1,8 @@
1class Efl.Net.Server.Simple (Efl.Loop.Consumer, Efl.Net.Server) { 1class Efl.Net.Server.Simple (Efl.Loop.Consumer, Efl.Net.Server) {
2 [[A network server wrapper that creates clients based on @Efl.Net.Socket.Simple. 2 [[A network server wrapper that creates clients based on @Efl.Net.Socket.Simple.
3 3
4 This is just a wrapper server, it will take an actual server 4 This is just a wrapper server. It takes an actual server
5 using @.inner_server or create one using @.inner_class. 5 using @.inner_server or creates one using @.inner_class.
6 6
7 @since 1.19 7 @since 1.19
8 ]] 8 ]]
@@ -10,12 +10,12 @@ class Efl.Net.Server.Simple (Efl.Loop.Consumer, Efl.Net.Server) {
10 @property inner_class { 10 @property inner_class {
11 [[The class used to create @.inner_server if none was provided. 11 [[The class used to create @.inner_server if none was provided.
12 12
13 This class must be set at construction time and will be 13 This class must be set at build time and will be
14 used to create the inner socket during 14 used to create the inner socket during
15 @Efl.Object.finalize. 15 @Efl.Object.finalize.
16 16
17 It is a helper for users, removing the burden to 17 It is a helper for users, saving them the trouble of
18 manually create and specify a dialer object. 18 manually creating and specifying a dialer object.
19 ]] 19 ]]
20 get { 20 get {
21 [[The internal class used to create the inner dialer.]] 21 [[The internal class used to create the inner dialer.]]
diff --git a/src/lib/ecore_con/efl_net_server_udp.eo b/src/lib/ecore_con/efl_net_server_udp.eo
index 4fe45668dc..e8ad012cfd 100644
--- a/src/lib/ecore_con/efl_net_server_udp.eo
+++ b/src/lib/ecore_con/efl_net_server_udp.eo
@@ -9,8 +9,8 @@ class Efl.Net.Server.Udp (Efl.Net.Server.Ip) {
9 [[Avoids sent UDP packets being routed by a gateway, limiting them to the local network. 9 [[Avoids sent UDP packets being routed by a gateway, limiting them to the local network.
10 10
11 This will use SO_DONTROUTE option to avoid gateways 11 This will use SO_DONTROUTE option to avoid gateways
12 routing sent packets to outside of local network. It's 12 routing sent packets to outside the local network. It's
13 useful for some protocols that only want local area to 13 useful for some protocols that only want the local area to
14 be affected. 14 be affected.
15 ]] 15 ]]
16 get { } 16 get { }
diff --git a/src/lib/ecore_con/efl_net_server_udp_client.eo b/src/lib/ecore_con/efl_net_server_udp_client.eo
index e311972842..f8ecc8bd0f 100644
--- a/src/lib/ecore_con/efl_net_server_udp_client.eo
+++ b/src/lib/ecore_con/efl_net_server_udp_client.eo
@@ -2,8 +2,8 @@ class Efl.Net.Server.Udp.Client (Efl.Object, Efl.Net.Socket) {
2 [[A UDP client child of Efl.Net.Server.Udp 2 [[A UDP client child of Efl.Net.Server.Udp
3 3
4 Unlike connection protocols such as TCP or Local, UDP doesn't 4 Unlike connection protocols such as TCP or Local, UDP doesn't
5 create extra sockets for its "clients". Then this thin class 5 create extra sockets for its "clients". This thin class
6 will provide the required socket interface on top of the server 6 will then provide the required socket interface on top of the server
7 internal socket. 7 internal socket.
8 8
9 Given this limitation, some features such as 'cork' (used to 9 Given this limitation, some features such as 'cork' (used to
diff --git a/src/lib/ecore_con/efl_net_server_unix.eo b/src/lib/ecore_con/efl_net_server_unix.eo
index 69a3e39e7e..f521fda3a9 100644
--- a/src/lib/ecore_con/efl_net_server_unix.eo
+++ b/src/lib/ecore_con/efl_net_server_unix.eo
@@ -1,10 +1,10 @@
1class Efl.Net.Server.Unix (Efl.Net.Server.Fd) { 1class Efl.Net.Server.Unix (Efl.Net.Server.Fd) {
2 [[An AF_UNIX server. 2 [[An AF_UNIX server.
3 3
4 The @Efl.Net.Server.serve method will call bind(2) directly, 4 The @Efl.Net.Server.serve method will call bind(2) directly.
5 thus path will be accessed and created in that method. If the 5 This means the path will be accessed and created in that method. If the
6 created socket must be subject to some special mode or user, 6 created socket must be subject to some special mode or user,
7 change before executing that method, for example calling 7 change before executing said method, for example by calling
8 umask(2). 8 umask(2).
9 9
10 @since 1.19 10 @since 1.19
@@ -12,7 +12,7 @@ class Efl.Net.Server.Unix (Efl.Net.Server.Fd) {
12 12
13 methods { 13 methods {
14 @property unlink_before_bind { 14 @property unlink_before_bind {
15 [[AF_UNIX paths may be stale due crashes, remove files and try again. 15 [[AF_UNIX paths may be stale due to crashes. Remove files and try again.
16 16
17 If this property is $true, then it will unlink() before 17 If this property is $true, then it will unlink() before
18 bind() is done, repeating this process if EADDRINUSE. 18 bind() is done, repeating this process if EADDRINUSE.
@@ -25,7 +25,7 @@ class Efl.Net.Server.Unix (Efl.Net.Server.Fd) {
25 } 25 }
26 26
27 @property leading_directories_create { 27 @property leading_directories_create {
28 [[If $true, all parent directories will be created with given mode. 28 [[If $true, all parent directories will be created with the given mode.
29 29
30 This is only effective before @Efl.Net.Server.serve is 30 This is only effective before @Efl.Net.Server.serve is
31 called as it is used from inside that method. 31 called as it is used from inside that method.
diff --git a/src/lib/ecore_con/efl_net_server_windows.eo b/src/lib/ecore_con/efl_net_server_windows.eo
index 00c4ee273c..88d034b6cd 100644
--- a/src/lib/ecore_con/efl_net_server_windows.eo
+++ b/src/lib/ecore_con/efl_net_server_windows.eo
@@ -1,10 +1,10 @@
1class Efl.Net.Server.Windows (Efl.Loop.Consumer, Efl.Net.Server) { 1class Efl.Net.Server.Windows (Efl.Loop.Consumer, Efl.Net.Server) {
2 [[A Windows NamedPipe server. 2 [[A Windows NamedPipe server.
3 3
4 The @Efl.Net.Server.serve method will call CreateNamedPipe() 4 The @Efl.Net.Server.serve method calls CreateNamedPipe()
5 directly, thus path will be accessed and created in that 5 directly, so the path will be accessed and created in that
6 method. If the created socket must be subject to some special 6 method. If the created socket must be subject to some special
7 mode or user, change before executing that method. 7 mode or user, change before executing said method.
8 8
9 @since 1.19 9 @since 1.19
10 ]] 10 ]]
diff --git a/src/lib/ecore_con/efl_net_session.eo b/src/lib/ecore_con/efl_net_session.eo
index a6adf93607..6ae9db299f 100644
--- a/src/lib/ecore_con/efl_net_session.eo
+++ b/src/lib/ecore_con/efl_net_session.eo
@@ -3,9 +3,9 @@ enum Efl.Net.Session.State {
3 3
4 @since 1.19 4 @since 1.19
5 ]] 5 ]]
6 offline, [[No access point is connected]] 6 offline, [[No access point is connected.]]
7 local, [[At least one access point was connected and the internet connectio wasn't verified]] 7 local, [[At least one access point has connected and the internet connection hasn't been verified.]]
8 online, [[At least one access point was connected and the internet was verified]] 8 online, [[At least one access point has connected and the internet connection has been verified.]]
9} 9}
10 10
11/* keep in sync with efl_net_control_technology.eo, comment what doesn't make sense */ 11/* keep in sync with efl_net_control_technology.eo, comment what doesn't make sense */
@@ -32,15 +32,15 @@ class Efl.Net.Session (Efl.Loop.Consumer) {
32 32
33 This API is targeted at applications that need access to the 33 This API is targeted at applications that need access to the
34 network, specifying the allowed bearer technologies to connect 34 network, specifying the allowed bearer technologies to connect
35 to the internet, as well as if just local networking is enough 35 to the internet, as well as whether local networking is enough
36 or validated internet access is required. 36 or validated internet access is required.
37 37
38 Some platforms may not implement the backend for this class, in 38 Some platforms may not implement the backend for this class. In
39 such cases the system will report always @.state "online" 39 this cases the system will report always @.state "online"
40 (@Efl.Net.Session.State.online) and other properties will be 40 (@Efl.Net.Session.State.online) and other properties will be
41 NULL, such as @.name, @.interface, @.ipv4 and @.ipv6; as well as 41 NULL, such as @.name, @.interface, @.ipv4 and @.ipv6; as well as
42 @.technology is set to @Efl.Net.Session.Technology.unknown. Thus 42 @.technology is set to @Efl.Net.Session.Technology.unknown. As such
43 if there is need to detect for an actual backend, check if the 43 if you need to detect for an actual backend, check if the
44 state is online but those properties are NULL or technology is 44 state is online but those properties are NULL or technology is
45 unknown. 45 unknown.
46 46
@@ -58,10 +58,10 @@ class Efl.Net.Session (Efl.Loop.Consumer) {
58 connect { 58 connect {
59 [[Asks the session to be connected. 59 [[Asks the session to be connected.
60 60
61 This method doesn't need to be called if all an 61 This method doesn't need to be called if an
62 application want is to monitor the connectivity state, 62 application only needs to monitor the connectivity state,
63 like a poller that will only try to access the 63 such as a poller which will only try to access the
64 webservice when there is an existing connection without 64 webservice when there is an existing connection, without
65 triggering one. 65 triggering one.
66 66
67 This method is subject to backend policy. For instance, 67 This method is subject to backend policy. For instance,
@@ -78,7 +78,7 @@ class Efl.Net.Session (Efl.Loop.Consumer) {
78 [[Indicates this session doesn't need a connection anymore. 78 [[Indicates this session doesn't need a connection anymore.
79 79
80 This reverses the effect of @.connect, let the system 80 This reverses the effect of @.connect, let the system
81 disconnect if nothing else needs a connection. One may 81 disconnect if nothing else needs a connection. You can
82 still use the session object to monitor the connectivity 82 still use the session object to monitor the connectivity
83 state via properties and "changed" event. 83 state via properties and "changed" event.
84 ]] 84 ]]
diff --git a/src/lib/ecore_con/efl_net_socket.eo b/src/lib/ecore_con/efl_net_socket.eo
index e7be445422..00394119d1 100644
--- a/src/lib/ecore_con/efl_net_socket.eo
+++ b/src/lib/ecore_con/efl_net_socket.eo
@@ -1,12 +1,12 @@
1interface Efl.Net.Socket (Efl.Io.Reader, Efl.Io.Writer, Efl.Io.Closer) { 1interface Efl.Net.Socket (Efl.Io.Reader, Efl.Io.Writer, Efl.Io.Closer) {
2 [[The basic socket interface. 2 [[The basic socket interface.
3 3
4 It is built upon the three core Input/Output interfaces: 4 This is built upon the three core Input/Output interfaces:
5 - @Efl.Io.Reader: to receive data. 5 - @Efl.Io.Reader: to receive data.
6 - @Efl.Io.Writer: to send data. 6 - @Efl.Io.Writer: to send data.
7 - @Efl.Io.Closer: to close the socket for further operations. 7 - @Efl.Io.Closer: to close the socket for further operations.
8 8
9 Thus it can be used with utilities like @Efl.Io.Copier. 9 As such it can be used with utilities like @Efl.Io.Copier.
10 10
11 @since 1.19 11 @since 1.19
12 ]] 12 ]]
@@ -14,12 +14,12 @@ interface Efl.Net.Socket (Efl.Io.Reader, Efl.Io.Writer, Efl.Io.Closer) {
14 @property address_local { 14 @property address_local {
15 [[The local address, similar to getsockname(). 15 [[The local address, similar to getsockname().
16 16
17 The actual value depends on the type of socket, like an 17 The actual value depends on the type of socket, such as an
18 IPv4 (ip:port) or IPv6 ([ip]:port) formatted for a 18 IPv4 (ip:port) or IPv6 ([ip]:port) formatted for a
19 TCP/UDP socket, the path if an Unix Local... 19 TCP/UDP socket, the path if an Unix Local...
20 20
21 It's always resolved, then if operations are working 21 It's always resolved. If operations are working
22 with domain names or URL, this is the values the kernel 22 with domain names or URLs, these are the values the kernel
23 reports. It's similar to getsockname() in behavior. 23 reports. It's similar to getsockname() in behavior.
24 ]] 24 ]]
25 get { } 25 get { }
@@ -36,8 +36,8 @@ interface Efl.Net.Socket (Efl.Io.Reader, Efl.Io.Writer, Efl.Io.Closer) {
36 IPv4 (ip:port) or IPv6 ([ip]:port) formatted for a 36 IPv4 (ip:port) or IPv6 ([ip]:port) formatted for a
37 TCP/UDP socket, the path if an Unix Local... 37 TCP/UDP socket, the path if an Unix Local...
38 38
39 It's always resolved, then if operations are working 39 It's always resolved. If operations are working
40 with domain names or URL, this is the values the kernel 40 with domain names or URLs, these are the values the kernel
41 reports. It's similar to getpeername() in behavior. 41 reports. It's similar to getpeername() in behavior.
42 ]] 42 ]]
43 get { } 43 get { }
diff --git a/src/lib/ecore_con/efl_net_socket_simple.eo b/src/lib/ecore_con/efl_net_socket_simple.eo
index d7260a8d4f..d233096ad8 100644
--- a/src/lib/ecore_con/efl_net_socket_simple.eo
+++ b/src/lib/ecore_con/efl_net_socket_simple.eo
@@ -1,16 +1,16 @@
1class Efl.Net.Socket.Simple (Efl.Io.Buffered_Stream, Efl.Net.Socket) { 1class Efl.Net.Socket.Simple (Efl.Io.Buffered_Stream, Efl.Net.Socket) {
2 [[A wrapper socket offering an easy to use, buffered I/O. 2 [[A wrapper socket offering an easy to use, buffered I/O.
3 3
4 The simple socket encapsulates an actual @Efl.Net.Socket, and 4 The simple socket encapsulates an actual @Efl.Net.Socket and
5 uses it with an @Efl.Io.Buffered_Stream, which creates an input 5 uses it with an @Efl.Io.Buffered_Stream, which creates an input
6 @Efl.Io.Queue, an output @Efl.Io.Queue and these are linked 6 @Efl.Io.Queue and an output @Efl.Io.Queue. These are linked
7 using a receiver and a sender @Efl.Io.Copier. 7 using a receiver and a sender @Efl.Io.Copier.
8 8
9 The idea is that unlike traditional @Efl.Net.Socket that will 9 The idea is that unlike the traditional @Efl.Net.Socket which
10 attempt to write directly to socket and thus may take less data 10 attempts to write directly to socket and thus may take less data
11 than requested, this one will keep the pending data in its own 11 than requested, this one will keep the pending data in its own
12 buffer, feeding to the actual socket when it 12 buffer, feeding to the actual socket when
13 @Efl.Io.Writer.can_write. That makes its operation much simpler 13 @Efl.Io.Writer.can_write. This makes its operation much simpler
14 as @Efl.Io.Writer.write will always take the full data -- allows 14 as @Efl.Io.Writer.write will always take the full data -- allows
15 "write and forget", if unlimited (see 15 "write and forget", if unlimited (see
16 @Efl.Io.Buffered_Stream.max_queue_size_output). 16 @Efl.Io.Buffered_Stream.max_queue_size_output).
@@ -23,8 +23,8 @@ class Efl.Net.Socket.Simple (Efl.Io.Buffered_Stream, Efl.Net.Socket) {
23 @Efl.Io.Buffered_Stream.discard or 23 @Efl.Io.Buffered_Stream.discard or
24 @Efl.Io.Buffered_Stream.clear. 24 @Efl.Io.Buffered_Stream.clear.
25 25
26 Then when waiting for a complete message, just peek at its 26 When waiting for a complete message, you can just peek at its
27 contents, if not complete do nothing, if complete then either 27 contents: if incomplete do nothing, if complete then use either
28 @Efl.Io.Reader.read to get a copy or manipulate a read-only 28 @Efl.Io.Reader.read to get a copy or manipulate a read-only
29 reference from @Efl.Io.Buffered_Stream.slice and then 29 reference from @Efl.Io.Buffered_Stream.slice and then
30 @Efl.Io.Buffered_Stream.discard 30 @Efl.Io.Buffered_Stream.discard
diff --git a/src/lib/ecore_con/efl_net_socket_ssl.eo b/src/lib/ecore_con/efl_net_socket_ssl.eo
index b9a9020843..ddab2f45a2 100644
--- a/src/lib/ecore_con/efl_net_socket_ssl.eo
+++ b/src/lib/ecore_con/efl_net_socket_ssl.eo
@@ -4,8 +4,8 @@ var Efl.Net.Socket.Ssl.Error.CERTIFICATE_VERIFY_FAILED: Eina.Error; [[Failed to
4class Efl.Net.Socket.Ssl (Efl.Loop.Consumer, Efl.Net.Socket) { 4class Efl.Net.Socket.Ssl (Efl.Loop.Consumer, Efl.Net.Socket) {
5 [[A wrapper socket doing SSL (Secure Sockets Layer). 5 [[A wrapper socket doing SSL (Secure Sockets Layer).
6 6
7 Use this wrapper around an existing socket to do secure 7 Use this wrapper around an existing socket for secure
8 communication, a common use is to apply it to TCP sockets 8 communication. One common use is to apply it to TCP sockets
9 created with @Efl.Net.Dialer.Tcp or @Efl.Net.Server.Tcp created 9 created with @Efl.Net.Dialer.Tcp or @Efl.Net.Server.Tcp created
10 with "client,add" event. 10 with "client,add" event.
11 11
@@ -13,7 +13,7 @@ class Efl.Net.Socket.Ssl (Efl.Loop.Consumer, Efl.Net.Socket) {
13 ]] 13 ]]
14 14
15 events { 15 events {
16 ssl,ready; [[Notifies the SSL handshake was done and the socket is now able to communicate]] 16 ssl,ready; [[Notifies the SSL handshake has been performed and the socket is now able to communicate]]
17 ssl,error: Eina.Error; [[An error such as @Efl.Net.Socket.Ssl.Error.HANDSHAKE]] 17 ssl,error: Eina.Error; [[An error such as @Efl.Net.Socket.Ssl.Error.HANDSHAKE]]
18 } 18 }
19 19
diff --git a/src/lib/ecore_con/efl_net_socket_udp.eo b/src/lib/ecore_con/efl_net_socket_udp.eo
index de221fac6d..539dfd29ea 100644
--- a/src/lib/ecore_con/efl_net_socket_udp.eo
+++ b/src/lib/ecore_con/efl_net_socket_udp.eo
@@ -7,7 +7,7 @@ class Efl.Net.Socket.Udp (Efl.Net.Socket.Fd) {
7 created by an dialer. 7 created by an dialer.
8 8
9 Since for the server 'clients' there is no accepted connection 9 Since for the server 'clients' there is no accepted connection
10 it will reuse the same file decriptor and to avoid it being 10 it will reuse the same file decriptor. To avoid it being
11 closed, another class Efl.Net.Server.Udp.Client is used instead. 11 closed, another class Efl.Net.Server.Udp.Client is used instead.
12 12
13 @since 1.19 13 @since 1.19
@@ -38,8 +38,8 @@ class Efl.Net.Socket.Udp (Efl.Net.Socket.Fd) {
38 [[Avoids sent UDP packets being routed by a gateway, limiting them to the local network. 38 [[Avoids sent UDP packets being routed by a gateway, limiting them to the local network.
39 39
40 This will use SO_DONTROUTE option to avoid gateways 40 This will use SO_DONTROUTE option to avoid gateways
41 routing sent packets to outside of local network. It's 41 routing sent packets outside the local network. It's
42 useful for some protocols that only want local area to 42 useful for some protocols that only want the local area to
43 be affected. 43 be affected.
44 ]] 44 ]]
45 get { } 45 get { }
@@ -147,7 +147,7 @@ class Efl.Net.Socket.Udp (Efl.Net.Socket.Fd) {
147 [[Forces binding to a specific address. 147 [[Forces binding to a specific address.
148 148
149 Some servers may request packets being sent from a 149 Some servers may request packets being sent from a
150 specific address, then one should bind to that address 150 specific address, then one binds to that address
151 before proceeding to dial. 151 before proceeding to dial.
152 152
153 If no address is provided or bind is not called, a 153 If no address is provided or bind is not called, a
@@ -166,7 +166,7 @@ class Efl.Net.Socket.Udp (Efl.Net.Socket.Fd) {
166 } 166 }
167 167
168 init @protected { 168 init @protected {
169 [[Initializes the socket to communicate with given IP address]] 169 [[Initializes the socket to communicate with a given IP address]]
170 params { 170 params {
171 remote_address: Efl.Net.Ip_Address; [[The remote address this socket will communicate with]] 171 remote_address: Efl.Net.Ip_Address; [[The remote address this socket will communicate with]]
172 } 172 }