# inets

###
Module

inets

###
Module Summary

The Inets services API.

###
Description

This module provides the most basic API to the clients and servers that are part of the Inets application, such as start and stop.

###
DATA TYPES

Type definitions that are used more than once in this module:

service() = httpc | httpd

property() = atom()

###
Exports

####
services() -> [{Service, Pid}]

### Types

Service = service()
Pid = pid()

Returns a list of currently running services.

Note

Services started as stand_alone are not listed.

####
services_info() -> [{Service, Pid, Info}]

### Types

Service = service()
Pid = pid()
Info = [{Option, Value}] | Reason
Option = property()
Value = term()

Returns a list of currently running services where each service is described by an [{Option, Value}] list. The information in the list is specific for each service and each service has probably its own info function that gives more details about the service. If specific service info returns {error, Reason}, Info will contain Reason term.

####
service_names() -> [Service]

### Types

Service = service()

Returns a list of available service names.

####
start() ->

####
start(Type) -> ok | {error, Reason}

### Types

Type = permanent | transient | temporary

Starts the Inets application. Default type is temporary. See also application(3).

####
start(Service, ServiceConfig) -> {ok, Pid} | {error, Reason}

####
start(Service, ServiceConfig, How) -> {ok, Pid} | {error, Reason}

### Types

Service = service()
ServiceConfig = [{Option, Value}]
Option = property()
Value = term()
How = inets | stand_alone - default is inets.

Dynamically starts an Inets service after the Inets application has been started.

Note

Dynamically started services are not handled by application takeover and failover behavior when Inets is run as a distributed application. Nor are they automatically restarted when the Inets application is restarted. As long as the Inets application is operational, they are supervised and can be soft code upgraded.

A service started as stand_alone, that is, the service is not started as part of the Inets application, lose all OTP application benefits, such as soft upgrade. The stand_alone-service is linked to the process that started it. Usually some supervision functionality is still in place and in some sense the calling process becomes the top supervisor.

####
stop() -> ok

Stops the Inets application. See also application(3).

####
stop(Service, Reference) -> ok | {error, Reason}

### Types

Service = service() | stand_alone
Reference = pid() | term() - service-specified reference
Reason = term()

Stops a started service of the Inets application or takes down a stand_alone-service gracefully. When option stand_alone is used in start, only the pid is a valid argument to stop.

###
SEE ALSO

httpc(3), httpd(3)