Search documentation of inets

# inets (inets v9.7.1)

Copy Markdown View Source

The Inets services API.

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()`

### See also

`httpc`, `httpd`

## Summary

### Types

inets_service()
service_info()

### Functions

service_names()

Returns a list of available service names.

services()

Returns a list of currently running services.

services_info()

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.

start()

Equivalent to `start/1`.

start(Type)

Starts the `Inets` application. Default type is `temporary`. See also `application`.

start(Service, ServiceConfig)

Equivalent to `start/3`.

start(Service, ServiceConfig, How)

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

stop()

Stops the `Inets` application. See also `application`.

stop(Service, Reference)

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.

## Types

# inets_service()

(not exported)

    -type inets_service() :: httpd | httpc.

# service_info()

(not exported)

    -type service_info() ::
              {inets_service(), pid(), [{profile, atom()}] | no_such_service | service_not_available}.

## Functions

# service_names()

    -spec service_names() -> [inets_service()].

Returns a list of available service names.

# services()

    -spec services() -> [{inets_service(), pid()}] | {error, inets_not_started}.

Returns a list of currently running services.

#### Note

Services started as `stand_alone` are not listed.

# services_info()

    -spec services_info() -> [service_info()] | {error, inets_not_started}.

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.

# start()

    -spec start() -> ok | {error, Reason} when Reason :: term().

Equivalent to `start/1`.

# start(Type)

    -spec start(Type) -> ok | {error, Reason} when Type :: application:restart_type(), Reason :: term().

Starts the `Inets` application. Default type is `temporary`. See also `application`.

# start(Service, ServiceConfig)

    -spec start(Service, ServiceConfig) -> Result
                   when
                       Service :: inets_service(),
                       ServiceConfig :: ConfPropList | ConfFile,
                       ConfPropList :: [{Property, Value}],
                       ConfFile :: string(),
                       Property :: term(),
                       Value :: term(),
                       Result :: {ok, pid()} | {error, term()}.

Equivalent to `start/3`.

# start(Service, ServiceConfig, How)

    -spec start(Service, ServiceConfig, How) -> Result
                   when
                       Service :: inets_service(),
                       ServiceConfig :: ConfPropList | ConfFile,
                       How :: inets | stand_alone,
                       ConfPropList :: [{Property, Value}],
                       ConfFile :: string(),
                       Property :: term(),
                       Value :: term(),
                       Result :: {ok, pid()} | {error, term()}.

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.

#### Warning

The stand_alone option is considered deprecated.

# stop()

    -spec stop() -> ok.

Stops the `Inets` application. See also `application`.

# stop(Service, Reference)

    -spec stop(Service, Reference) -> ok | {error, Reason}
                  when
                      Service :: inets_service() | stand_alone,
                      Reference :: pid() | term(),
                      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.