You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by Alan Conway <ac...@redhat.com> on 2016/06/17 23:57:14 UTC

Review Request 48891: PROTON-1237: C connection_engine interface and implementation.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/48891/
-----------------------------------------------------------

Review request for qpid, Andrew Stitcher, Cliff Jansen, and Justin Ross.


Bugs: proton-1237
    https://issues.apache.org/jira/browse/proton-1237


Repository: qpid-proton-git


Description
-------

- Ported C++ connection_engine core (excluding container/event_loop stuff) to C
- Replaced the guts of the C++ connection_engine with the C engine.

PROTON-1237: c++: clean up connection_engine interface.

- make container/event_loop optional for a connection_engine.
- untangled link_namer from connection engine.


Diffs
-----

  examples/cpp/mt/epoll_container.cpp 4dd15251cbc2101b347613fc6a0294f9b7f9b514 
  proton-c/CMakeLists.txt 65dd94da84b7cf7d63b0e382fa1d8e9199b99d34 
  proton-c/bindings/cpp/CMakeLists.txt 18344f4ee3469883740b61feec64edbe601447ac 
  proton-c/bindings/cpp/include/proton/io/connection_engine.hpp 32db158c668638c387dbf72a348a515da5661c53 
  proton-c/bindings/cpp/include/proton/io/container_impl_base.hpp 695125d08420b60802d34f0ef1b598b5c6a1984f 
  proton-c/bindings/cpp/include/proton/io/link_namer.hpp 281503b906197fd402dad30ea683a16122f6ee6c 
  proton-c/bindings/cpp/include/proton/thread_safe.hpp eb4df4859f7821ab8150474b5175a61bb8d07dc2 
  proton-c/bindings/cpp/src/container_impl.hpp 9ffb7bb20818b465c01f4ef7a40e52c3e1d8d176 
  proton-c/bindings/cpp/src/container_impl.cpp 7496dc40b9a60f6add6334a7e84f1aca1bc369f0 
  proton-c/bindings/cpp/src/engine_test.cpp 418943550e94935d270fb573a2509c4ca26263b1 
  proton-c/bindings/cpp/src/id_generator.hpp 31261db9d324b6b2d1b85f9a3acded155d5dbb1c 
  proton-c/bindings/cpp/src/id_generator.cpp fde16586033f57a12201b7cbca86520975db3b9c 
  proton-c/bindings/cpp/src/io/connection_engine.cpp 706108bb5fc7456f8bc2aa189e95a5da64f2feda 
  proton-c/bindings/cpp/src/proton_event.hpp a551435e8025d153b31c16deb56b53d448aba54d 
  proton-c/bindings/cpp/src/thread_safe_test.cpp 0eb21b229a9100e03109be0490a2d576208ecd0d 
  proton-c/include/proton/connection_engine.h PRE-CREATION 
  proton-c/src/engine/connection_engine.c PRE-CREATION 

Diff: https://reviews.apache.org/r/48891/diff/


Testing
-------

ctest -R cpp
g++, clang++ X 03, 11
The new C engine is now the implementation for the C++ engine so the existing tests are exercising it.


Thanks,

Alan Conway


Re: Review Request 48891: PROTON-1237: C connection_engine interface and implementation.

Posted by Alan Conway <ac...@redhat.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/48891/
-----------------------------------------------------------

(Updated June 22, 2016, 6:14 p.m.)


Review request for qpid, Andrew Stitcher, Cliff Jansen, and Justin Ross.


Changes
-------

Modified pn_connection_engine_dispatch() to return one event at a time - some bidings (e.g. Go) have trouble with callbacks.
Reworked go binding to use C engine.


Bugs: proton-1237
    https://issues.apache.org/jira/browse/proton-1237


Repository: qpid-proton-git


Description (updated)
-------

- Ported C++ connection_engine core (excluding container/event_loop stuff) to C
- Replaced the guts of the C++ connection_engine with the C engine.

PROTON-1237: c++: Use C connection_engine for C++ connection_engine.

- replace C++ connection_engine impl with pn_connection_engine_t
- make container/event_loop optional for a connection_engine.
- untangled link_namer from connection engine.

PROTON-1237: go: go binding uses C pn_connection_engine_t


Diffs (updated)
-----

  examples/cpp/mt/epoll_container.cpp 4dd15251cbc2101b347613fc6a0294f9b7f9b514 
  proton-c/CMakeLists.txt 65dd94da84b7cf7d63b0e382fa1d8e9199b99d34 
  proton-c/bindings/cpp/CMakeLists.txt 18344f4ee3469883740b61feec64edbe601447ac 
  proton-c/bindings/cpp/include/proton/io/connection_engine.hpp 32db158c668638c387dbf72a348a515da5661c53 
  proton-c/bindings/cpp/include/proton/io/container_impl_base.hpp 695125d08420b60802d34f0ef1b598b5c6a1984f 
  proton-c/bindings/cpp/include/proton/io/link_namer.hpp 281503b906197fd402dad30ea683a16122f6ee6c 
  proton-c/bindings/cpp/include/proton/thread_safe.hpp eb4df4859f7821ab8150474b5175a61bb8d07dc2 
  proton-c/bindings/cpp/src/container_impl.hpp 9ffb7bb20818b465c01f4ef7a40e52c3e1d8d176 
  proton-c/bindings/cpp/src/container_impl.cpp 7496dc40b9a60f6add6334a7e84f1aca1bc369f0 
  proton-c/bindings/cpp/src/engine_test.cpp 418943550e94935d270fb573a2509c4ca26263b1 
  proton-c/bindings/cpp/src/id_generator.hpp 31261db9d324b6b2d1b85f9a3acded155d5dbb1c 
  proton-c/bindings/cpp/src/id_generator.cpp fde16586033f57a12201b7cbca86520975db3b9c 
  proton-c/bindings/cpp/src/io/connection_engine.cpp 706108bb5fc7456f8bc2aa189e95a5da64f2feda 
  proton-c/bindings/cpp/src/proton_event.hpp a551435e8025d153b31c16deb56b53d448aba54d 
  proton-c/bindings/cpp/src/thread_safe_test.cpp 0eb21b229a9100e03109be0490a2d576208ecd0d 
  proton-c/bindings/go/src/qpid.apache.org/proton/engine.go eecda7a6978dd6bb8e017775f77a5d45d97c2da5 
  proton-c/include/proton/connection_engine.h PRE-CREATION 
  proton-c/src/engine/connection_engine.c PRE-CREATION 

Diff: https://reviews.apache.org/r/48891/diff/


Testing
-------

ctest -R cpp
g++, clang++ X 03, 11
The new C engine is now the implementation for the C++ engine so the existing tests are exercising it.


Thanks,

Alan Conway