User:Dzonatas Sol/SNOW-375 Resources/Interface

From Second Life Wiki
Jump to navigation Jump to search
Resource Method Description
/Interface/Connect POST -> &connect <- &result
/Interface/UI POST -> { UI: bool } <- { status: string }
/Interface/Status POST -> { Status: string } <- { status: string }

Note: Description syntax is only based on LLIDL.


/Interface/Connect

Note the roles here are in perspective of the initiator. They may switch automatically in bidirectional only connections. See [[1]]. Fallback to unidirectional connections is optional (see VWRAP), yet that implies static initiation. A non-intrusive proxy in between a bidirectional connection and a unidirectional connection may appear ideal. The unidirectional connection between Snowglobe (client) and the Second Life (server) is ideal for a static initiation, which can be a backbone for various processes that create bidirectional connections (primarily within a firewalled, multi-headed client domain). Authentication levels and connection security schemes may vary upon implementation (highly demanded by VWRAP/IETF for such flexibility, possibly closed-augmented levels). Note that use-cases exist that request security and authentication without traditional textual user and password means.

["Feature Freeze": Possible models yet to be demonstrated may include (or may never be implemented) resources for stationary and mobile environments. In this sense, mobile means where the presence of the avatar may authenticate from different clients. Stationary means that capabilities and their roles may have persistent values, like InterfaceStartupCapability below. For example, ray-casting may allow to see without being able to change and no need to expose original data. There are some "obvious" applications for stationary roles.]

Forward:

Attempt to negotiate a connection. A reverse /Interface/Connect query is made by this forward interface (which is the Snowglobe Viewer when InterfaceStartupCapability is unset).

An optional session cookie is set as an extra security measure to in order to lock-down a single client/server connection.

Reverse:

The application that requested the initial connection also listens for this query. On a successful query the Snowglobe's ControlGroup variable "InterfaceStartupCapability" is set to http://host:port/Interface/Connect, as detected by the forward interface.


/Interface/Status

A message that describes the changed state of the connection.


connect

{

(host) : string
port : integer

}

Host is optional for remote sessions. Note that multi-headed clients may appear similar to remote.


result

{

status : string
session : uuid
Version : string

|

Version string is only informational, as given or detected capabilities are more significant.