Currently duration is simply returned or changed without checking whether the stream...
[chromium-blink-merge.git] / mojo / public / README.md
blob32fc4b186155423fcc945cf6e728c68c501743ad
1 Mojo Public API
2 ===============
4 The Mojo Public API is a binary stable API to the Mojo system. There are
5 several components to the API:
7 Bindings
8 --------
10 This directory contains a static library that clients may link into their
11 binary. The contents of this directory are not binary stable as each client is
12 free to use whichever version they prefer.
14 This directory also contains a compiler that translates mojom interface
15 definition files into idiomatic bindings for various languages, including
16 C++ and JavaScript. Clients are expected to statically link with the generated
17 code, which reads and writes the binary stable IPC message format.
19 Environment
20 -----------
22 This directory contains a static library that clients may link into their
23 binary. The contents of this directory are not binary stable as each client is
24 free to use whichever version they prefer.
26 The environment static library represents the shared state that is needed to
27 support the Bindings and GLES2 libraries. It depends on the Utility library.
29 GLES2
30 -----
32 The IPC protocol used to communicate between Mojo client and the GLES2
33 service is not binary stable. To insulate themselves from changes in this
34 protocol, clients are expected to link dynamically against the standard GLES2
35 headers from Khronos and the headers in this directory, which provide an
36 adaptor between the GLES2 C API and the underlying IPC protocol.
38 System
39 ------
41 This directory defines the interface between Mojo clients and the Mojo IPC
42 system. Although the Mojo IPC message format is binary stable, the mechanism
43 by which these messages are transported is not stable. To insulate themselves
44 from changes in the underlying transport, clients are expected to link against
45 these headers dynamically.
47 Tests
48 -----
50 This directory contains tests for code contained in the public API. Mojo
51 clients are expected to ignore this directory.
53 Utility
54 -------
56 This directory contains a static library that clients may link into their
57 binary. The contents of this directory are not binary stable as each client is
58 free to use whichever version they prefer.
60 The Utility static library most notably defines an implementation of a RunLoop
61 based on the MojoWaitMany that clients may use as the basis for asynchronous
62 message processing.