PROTON-2898: [C] Introduce pn_proactor_import_socket API

Implement functionality to import a socket that is already connected to
the proactor.

This can be for either the server or client end of the
connection. So it can be used for both socket activation at the server
end and protocols running on the connection prior to AMQP at the
client end.

The new pn_proactor_import_socket API is defined in a new header
proactor_ext.h which will contain any other similarly OS dependent
proactor APIs.
5 files changed
tree: e80dc71f10af49ae08695cae392da0fbe9fe2635
  1. .github/
  2. azure-pipelines/
  3. c/
  4. ci/
  5. cpp/
  6. docs/
  7. go/
  8. misc/
  9. python/
  10. ruby/
  11. scripts/
  12. tests/
  13. tools/
  14. .appveyor.yml
  15. .asf.yaml
  16. .gitattributes
  17. .gitignore
  18. .mailmap
  19. .reviewboardrc
  20. CMakeLists.txt
  21. go.mod
  22. INSTALL.md
  23. LICENSE.txt
  24. NOTICE.txt
  25. README.md
  26. VERSION.txt
README.md

Qpid Proton - AMQP messaging toolkit

Qpid Proton is a high-performance, lightweight messaging library. It can be used in the widest range of messaging applications, including brokers, client libraries, routers, bridges, proxies, and more. Proton makes it trivial to integrate with the AMQP 1.0 ecosystem from any platform, environment, or language.

Features

  • A flexible and capable reactive messaging API
  • Full control of AMQP 1.0 protocol semantics
  • Portable C implementation with bindings to popular languages
  • Peer-to-peer and brokered messaging
  • Secure communication via SSL/TLS and SASL

Universal - Proton is designed to scale both up and down. Equally suitable for simple clients or high-powered servers, it can be deployed in simple peer-to-peer configurations or as part of a global federated messaging network.

Embeddable - Proton is carefully written to be portable and cross platform. It has minimal dependencies, and it is architected to be usable with any threading model, as well as with non-threaded applications. These features make it uniquely suited for embedding messaging capabilities into existing software.

Standard - Built around the AMQP 1.0 messaging standard, Proton is not only ideal for building out your own messaging applications but also for connecting them to the broader ecosystem of AMQP 1.0-based messaging applications.

Please see https://qpid.apache.org/proton for more information.

Getting Started

See the included INSTALL.md file for build and install instructions and the developers.md file for information on how to modify and test the library code itself.