Mercurial > prosody-hg
comparison core/portmanager.lua @ 6690:b2e89583d6e6
Merge 0.10->trunk
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 13 May 2015 22:33:40 +0200 |
| parents | 1d4fb397e561 |
| children | 6236668da30a |
comparison
equal
deleted
inserted
replaced
| 6679:96e034508978 | 6690:b2e89583d6e6 |
|---|---|
| 150 log("info", "Activated service '%s' on %s", service_name, #hooked_ports == 0 and "no ports" or table.concat(hooked_ports, ", ")); | 150 log("info", "Activated service '%s' on %s", service_name, #hooked_ports == 0 and "no ports" or table.concat(hooked_ports, ", ")); |
| 151 return true; | 151 return true; |
| 152 end | 152 end |
| 153 | 153 |
| 154 function deactivate(service_name, service_info) | 154 function deactivate(service_name, service_info) |
| 155 for name, interface, port, n, active_service | 155 for name, interface, port, n, active_service --luacheck: ignore 213/name 213/n |
| 156 in active_services:iter(service_name or service_info and service_info.name, nil, nil, nil) do | 156 in active_services:iter(service_name or service_info and service_info.name, nil, nil, nil) do |
| 157 if service_info == nil or active_service.service == service_info then | 157 if service_info == nil or active_service.service == service_info then |
| 158 close(interface, port); | 158 close(interface, port); |
| 159 end | 159 end |
| 160 end | 160 end |
| 190 end | 190 end |
| 191 fire_event("service-removed", { name = service_name, service = service_info }); | 191 fire_event("service-removed", { name = service_name, service = service_info }); |
| 192 end | 192 end |
| 193 | 193 |
| 194 function close(interface, port) | 194 function close(interface, port) |
| 195 local service, server = get_service_at(interface, port); | 195 local service, service_server = get_service_at(interface, port); |
| 196 if not service then | 196 if not service then |
| 197 return false, "port-not-open"; | 197 return false, "port-not-open"; |
| 198 end | 198 end |
| 199 server:close(); | 199 service_server:close(); |
| 200 active_services:remove(service.name, interface, port); | 200 active_services:remove(service.name, interface, port); |
| 201 log("debug", "Removed listening service %s from [%s]:%d", service.name, interface, port); | 201 log("debug", "Removed listening service %s from [%s]:%d", service.name, interface, port); |
| 202 return true; | 202 return true; |
| 203 end | 203 end |
| 204 | 204 |
| 209 | 209 |
| 210 function get_service(service_name) | 210 function get_service(service_name) |
| 211 return (services[service_name] or {})[1]; | 211 return (services[service_name] or {})[1]; |
| 212 end | 212 end |
| 213 | 213 |
| 214 function get_active_services(...) | 214 function get_active_services() |
| 215 return active_services; | 215 return active_services; |
| 216 end | 216 end |
| 217 | 217 |
| 218 function get_registered_services() | 218 function get_registered_services() |
| 219 return services; | 219 return services; |
