awslabs / aws-c-mqtt

C99 implementation of the MQTT 3.1.1 specification.
Apache License 2.0
93 stars 30 forks source link

Why this mqtt lib need http as dependence? #332

Closed overheat closed 11 months ago

overheat commented 11 months ago

Describe the feature

Why this lib need Http? What if I only need pure mqtt + TLS(X.509 certificate) to connect to AWS IoT core?

Use Case

MQTT + TLS(X.509 certificate) to connect to AWS IoT core

Proposed Solution

No response

Other Information

No response

Acknowledgements

bretambrose commented 11 months ago

The whole aws-c-* suite was developed at the same time to support the CRT aggregations for Java/C++/Python/Javascript. Ultimately, transport details weren't properly decoupled from the protocol client implementation and so http proxy and websocket support ended up creating a link-time dependency.

overheat commented 11 months ago

How can I remove http related dependence when I don't need "http proxy and websocket support"? Only MQTT protocal.

bretambrose commented 11 months ago

There is no way to do that at this time.

overheat commented 11 months ago

I see. Any build tool to help compile CRT yet?

bretambrose commented 11 months ago

Unsure what you are asking for. All the CRTs build just fine using each respective language's natural build/packaging tools (a C compiler is needed of course as well):

overheat commented 11 months ago

Hi,

I mean this repo: https://github.com/awslabs/aws-crt-builder I saw it yesterday, and wonder that it maybe a centralized build tool for all CRTs

overheat commented 11 months ago

Hi,

I mean this repo: https://github.com/awslabs/aws-crt-builder I saw it yesterday, and wonder that it maybe a centralized build tool for all CRTs

bretambrose commented 11 months ago

the aws-crt-builder repo is for managing CI/CD for all aws-c- and aws-crt- repositories