Skip to content

Commit

Permalink
Replace png images with svg
Browse files Browse the repository at this point in the history
  • Loading branch information
parksb committed Nov 22, 2023
1 parent c912b2c commit c70ea01
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 4 deletions.
2 changes: 1 addition & 1 deletion docs/architectures/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Zap is structured as a client-server model. The client unidirectionally sends data, and the server receives and processes it. This architecture keeps Zap's design simple and naturally allows a 1:N structure where multiple clients can send data to a single server.

![](https://user-images.githubusercontent.com/6410412/283973098-a0ffa51f-8db8-4f50-ac17-8e1ca914dd43.png)
![](https://user-images.githubusercontent.com/6410412/284769807-31c85bb5-db9b-4b3c-92d0-2cb8f8c58fe8.svg)

A data sent from the client to the server is transmitted over UDP socket. Zap is implemented to send this data by defining 'ZAPP Object' defined on top of datagram, which contain the timestamp, resource type, and the actual data. ZAPP Object is the data unit of ZAPP(Zap Protocol), for more detailed information about the protocol, please check the [ZAPP page](./zap-protocol.md).

Expand Down
2 changes: 1 addition & 1 deletion docs/architectures/project-structures.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

The project structure is straightforward. Under the root, there are four main modules: `ZapClient`, `ZapServer`, `Models`, and `Resources`.

![](https://user-images.githubusercontent.com/6410412/283739678-5b7ab499-9be9-478f-9f66-958b521f93c3.png)
![](https://user-images.githubusercontent.com/6410412/284769835-9b4ed77a-3c05-4328-98f4-151c8d023304.svg)

`Models` include interfaces and type definitions generally referenced throughout the Zap system. On the other hand, `Resources` consist of implementations of `Zapable` that can be transmitted via Zap. For example, `ZapAccelerometer` is a `Zapable` implementation representing accelerometer data. These resource implementations are referenced to abstract the data obtained from data sources in `ZapClient` or `ZapServer` and are encapsulated in `ZappObject` for network transmission. For more detailed information on each component, please read the [Specifications](../specifications/index.md) section.
2 changes: 1 addition & 1 deletion docs/architectures/zap-protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Zap defines a new network protocol over UDP to facilitate data exchange in an ag

The ZAPP Object is divided into two main parts: the header and the payload. The header contains metadata about the ZAPP Object, while the payload represents the actual data of interest to the communicating parties.

![](https://user-images.githubusercontent.com/6410412/283739668-6a2607b8-bc11-4a8b-8898-0e71282038d8.png)
![](https://user-images.githubusercontent.com/6410412/284769831-6a80cd39-fb13-41b8-8db7-fd135a4e1aab.svg)

The header consists of a timestamp and a resource field. The first 64 bits of the header constitute the timestamp field, representing the epoch time in milliseconds when the ZAPP Object was created. As UDP does not guarantee the order of datagrams, this field can be utilized if the order of data is crucial. This field can be interpreted as an unsigned integer.

Expand Down
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Of course, it can also become a simple remote controller, not a motion controlle

To overcome the limitation that data sources are confined to a single mobile device, Zap provides its own network protocol and programming interface to access data sources on other devices. Please check the [Architectures](./architectures/index.md) section for more information about Zap's communication specification and structure.

![](https://user-images.githubusercontent.com/6410412/283973098-a0ffa51f-8db8-4f50-ac17-8e1ca914dd43.png)
![](https://user-images.githubusercontent.com/6410412/284769807-31c85bb5-db9b-4b3c-92d0-2cb8f8c58fe8.svg)

In the following application code blocks, it shows that the client instance on an Android device sends acceleration force data to the server device.

Expand Down

0 comments on commit c70ea01

Please sign in to comment.