Skip to content

Gateway application binary - #996

Draft
NemanjaTrifunovicRTRK wants to merge 2 commits into
eclipse-score:mainfrom
NemanjaTrifunovicRTRK:gateway/application
Draft

Gateway application binary#996
NemanjaTrifunovicRTRK wants to merge 2 commits into
eclipse-score:mainfrom
NemanjaTrifunovicRTRK:gateway/application

Conversation

@NemanjaTrifunovicRTRK

Copy link
Copy Markdown
Contributor

Add gateway application binary, reusable runner library, and sample config

  • Add the gateway_application_runner library (RunGatewayApplication() /
    SignalHandler()), which owns gateway config parsing plus the
    setup/start/wait-for-shutdown sequence. It has no dependency on
    main()/argv, so it can be linked into other applications or libraries
    outside this repo that want to embed a gateway process.

  • Add gateway_application_bin, a thin main() that parses the two CLI
    args, initializes the mw::com runtime, installs SIGINT/SIGTERM
    handlers, and calls into the runner library — the entry point used
    within this repo to run a standalone gateway process.

  • Add sample runtime configuration under gateway_application/etc/
    (mw_com config, gateway config, sample transport config, and
    logging.json) for both the source and destination gateway roles,
    with a README documenting how the files link together and how to
    run the pair locally. Interfaces in configuration linked to score/mw/com/example/com-api-example and score/mw/com/doc/tutorial/chapter_1

Issue #387

void RunGatewayApplication(const std::string& config_path)
{
const auto app_configuration = ParseGatewayConfig(config_path);
GatewayApplication gateway_app{std::move(app_configuration)};

@LittleHuba LittleHuba left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The general idea to provide an example is very nice.
I'm currently not really happy with the place though.
I think it would make more sense to put this somewhere into the tutorial in its own chapter.
We did not provide an implementation, since the gatewaying logic for VM use cases is quite specific to the hypervisor. But a tutorial chapter on this would help people to implement this for their own hypervisor.
@crimson11 what do you think?

@NemanjaTrifunovicRTRK

NemanjaTrifunovicRTRK commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

The general idea to provide an example is very nice. I'm currently not really happy with the place though. I think it would make more sense to put this somewhere into the tutorial in its own chapter. We did not provide an implementation, since the gatewaying logic for VM use cases is quite specific to the hypervisor. But a tutorial chapter on this would help people to implement this for their own hypervisor. @crimson11 what do you think?
@LittleHuba,

The idea for gateway_application_runner is to provide public API that can be integrated into a 3rd-party applications, so I thik that this part should stay in this place. For me this is the main part cause I plan to use it in my company's project.

For the gateway_application_bin it makes sense to be in the tutorial part. Also, it can be extracted to another PR if make more sense to you.

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

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

3 participants