Skip to content

Add documentation for gateway node-type#134

Open
al3xa23 wants to merge 2 commits intomasterfrom
node-gateway
Open

Add documentation for gateway node-type#134
al3xa23 wants to merge 2 commits intomasterfrom
node-gateway

Conversation

@al3xa23
Copy link
Contributor

@al3xa23 al3xa23 commented Jan 27, 2026

Hi, here the documentation now for node-gateway

JitpanuM and others added 2 commits January 27, 2026 08:34
…u.maneeratpongsuk@rwth-aachen.de>

Signed-off-by: Alexandra <alexandra.bach@eonerc.rwth-aachen.de>
@al3xa23 al3xa23 requested a review from stv0g as a code owner January 27, 2026 08:34
@stv0g stv0g changed the title Node gateway Add documentation for gateway node-type Mar 23, 2026
Copy link
Contributor

@stv0g stv0g left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here is some first feedback on this PR.

Thanks for the contribution 👍🏻


# Gateway

The `gateway` node-type enables VILLASnode to transform Application Programmable Interfaces (API) types.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This sentence does not make an sense. Could you please rephrase it. What is meant by "transform"?

The `gateway` node-type enables VILLASnode to transform Application Programmable Interfaces (API) types.
Currently, the transformation of [http](https://en.wikipedia.org/wiki/HTTP) and [gRPC](https://grpc.io/) is supported.


Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove superfluous empty lines. A single empty line before and after headings is sufficient.

## Usage

The usage of this node is similar to [`api`](api.md) node-type.
The following [`curl`](https://curl.se/) commands are examples for calling gRPC methods with http API.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The following [`curl`](https://curl.se/) commands are examples for calling gRPC methods with http API.
The following [`curl`](https://curl.se/) commands are examples for calling gRPC methods via the HTTP API.

Sorry, we need to be more precise here. Is this an HTTP API, standard gRPC over HTTP/2 or gRPC over a web-proxy (e.g. grpc-web)?


The usage of this node is similar to [`api`](api.md) node-type.
The following [`curl`](https://curl.se/) commands are examples for calling gRPC methods with http API.
The input for a gRPC call can be either the body of http request or input data from another node (via a [path](../config/paths.md)).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The input for a gRPC call can be either the body of http request or input data from another node (via a [path](../config/paths.md)).
The input for a gRPC call can be either the body of HTTP request or input data from another node (via a [path](../config/paths.md)).

Please write acronyms in upper case.



### General Request
The url for sending a request to the gateway node-type is as following:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The url for sending a request to the gateway node-type is as following:
The URL for sending a request to the gateway node-type is as following:

```
Since the body is empty the data from the path will be send to gRPC server.

### Call GetDataRef method on gRPC server
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
### Call GetDataRef method on gRPC server
### Call `GetDataRef` method on gRPC server


Since this node-type does not implement the gRPC server, it needs to be added manually. A description is available [here](https://www.acs.eonerc.rwth-aachen.de/global/show_document.asp?id=aaaaaaaadidaesd).

Note on http methods
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Note on http methods
Note on HTTP methods

The input for a gRPC call can be either the body of http request or input data from another node (via a [path](../config/paths.md)).
If the http request body is empty, the input from other node will be used.

Since this node-type does not implement the gRPC server, it needs to be added manually. A description is available [here](https://www.acs.eonerc.rwth-aachen.de/global/show_document.asp?id=aaaaaaaadidaesd).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we add this theses into a new "References" section at the bottom of the page?

I would be nice to have this as a proper literature reference according to IEEE citation style.

# Gateway

The `gateway` node-type enables VILLASnode to transform Application Programmable Interfaces (API) types.
Currently, the transformation of [http](https://en.wikipedia.org/wiki/HTTP) and [gRPC](https://grpc.io/) is supported.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Currently, the transformation of [http](https://en.wikipedia.org/wiki/HTTP) and [gRPC](https://grpc.io/) is supported.
Currently, the transformation of [HTTP](https://en.wikipedia.org/wiki/HTTP) and [gRPC](https://grpc.io/) is supported.


### Limitations

- For protobuf payload that is not [VILLASnode format](../formats/protobuf.md), only simple datatypes are supported.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I dont understand this sentence.

```

The following `.proto` file will be used as an example
```
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this an example? Isnt this proto file defining the interface which is provided by this node-type?

We should inline the exact definition of this file via a code-block and the url keyword. This way the proto file will be always kept in sync with the file from the VILLASnode repo.


```

### Call GetData method on gRPC server
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Every method call should have a short 1-line description what it actual does.

For SetData, GetData this might be obvious. But I have no idea GetDataRef does.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants