[jira] [Resolved] (TUBEMQ-368) When tubemq::TubeMQConsumer shutdown() is called, there is a small probability that it will be cored directly

2020-10-02 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-368.
-
Resolution: Fixed

https://github.com/apache/incubator-tubemq/pull/281 fix it

> When tubemq::TubeMQConsumer shutdown() is called, there is a small 
> probability that it will be cored directly
> -
>
> Key: TUBEMQ-368
> URL: https://issues.apache.org/jira/browse/TUBEMQ-368
> Project: Apache TubeMQ
>  Issue Type: Bug
>  Components: Client
> Environment: linux
>Reporter: houjie
>Assignee: charleli
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> When tubemq::TubeMQConsumer shutdown() is called, there is a small 
> probability that it will be cored directly. The following is the stack 
> information:
>  
> {quote}#0 0x2b939d73cc8e in __memcmp_sse4_1 () from /lib64/libc.so.6
>  #1 0x2b939ce788b3 in std::string::compare(std::string const&) const () 
> from /lib64/libstdc++.so.6
>  #2 0x00528c2e in operator< , 
> std::allocator > (__rhs="", __lhs="")
>  at /usr/include/c++/4.8.2/bits/basic_string.h:2571
>  #3 operator() (this=, __y="", __x="") at 
> /usr/include/c++/4.8.2/bits/stl_function.h:235
>  #4 std::_Rb_tree tubemq::PartitionExt>, std::_Select1st tubemq::PartitionExt> >, std::less, 
> std::allocator > 
> >::_M_lower_bound (
>  __x=0x2b93f00250f0, __y=0x2b93f0011f90, __y@entry=0x4a9d148, __k="", 
> this=0x4a9d140) at /usr/include/c++/4.8.2/bits/stl_tree.h:1141
>  #5 0x0052d65a in std::_Rb_tree const, tubemq::PartitionExt>, std::_Select1st tubemq::PartitionExt> >, std::less, 
> std::allocator > >::find 
> (this=this@entry=0x4a9d140, __k="") at 
> /usr/include/c++/4.8.2/bits/stl_tree.h:1792
>  #6 0x00529a4d in find (__x="", this=0x4a9d140) at 
> /usr/include/c++/4.8.2/bits/stl_map.h:822
>  Python Exception  list index out of range: 
>  #7 tubemq::RmtDataCacheCsm::GetPartitionByBroker (this=this@entry=0x4a9cf90, 
> broker_info=..., partition_list=empty std::list)
>  at /root/access_platform_group/TubeMQ-Client-Cpp/src/rmt_data_cache.cc:334
>  #8 0x0050b57d in tubemq::BaseConsumer::reSetBrokerHBTimer 
> (this=0x4a9cd90, broker=...)
>  at /root/access_platform_group/TubeMQ-Client-Cpp/src/baseconsumer.cc:1500
>  #9 0x0050b900 in tubemq::BaseConsumer::__lambda14::operator() 
> (__closure=0x2b93dc030070, error=..., response_context=...)
>  at /root/access_platform_group/TubeMQ-Client-Cpp/src/baseconsumer.cc:801
>  #10 0x0050be10 in std::_Function_handler const tubemq::ResponseContext&), 
> tubemq::BaseConsumer::processHeartBeat2Broker(tubemq::NodeInfo)::__lambda14>::_M_invoke(const
>  std::_Any_data &, tubemq::ErrorCode, const tubemq::ResponseContext &) (
>  __functor=..., __args#0=..., __args#1=...) at 
> /usr/include/c++/4.8.2/functional:2071
>  #11 0x00538318 in operator() (__args#1=..., 
>  __args#0= via synthetic pointer>, this=0x2b93a7133810)
>  at /usr/include/c++/4.8.2/functional:2471
>  #12 tubemq::Promise::callbackAndNotify 
> (this=this@entry=0x2b93d4001670)
>  at /root/access_platform_group/TubeMQ-Client-Cpp/src/future.h:130
>  #13 0x0053201d in SetValue (value=..., this=0x2b93d4001670) at 
> /root/access_platform_group/TubeMQ-Client-Cpp/src/future.h:102
>  #14 tubemq::ClientConnection::requestCallback 
> (this=this@entry=0x2b93d0915898, request_id=46829, err=err@entry=0x0, 
>  check_out=check_out@entry=0x2b93a7133930) at 
> /root/access_platform_group/TubeMQ-Client-Cpp/src/client_connection.cc:248
>  #15 0x00532531 in tubemq::ClientConnection::checkPackageDone 
> (this=0x2b93d0915898)
>  at /root/access_platform_group/TubeMQ-Client-Cpp/src/client_connection.cc:221
>  #16 0x00532c05 in tubemq::ClientConnection::__lambda7::operator() 
> (ec=..., len=, __closure=0x2b93a7133b10)
>  at /root/access_platform_group/TubeMQ-Client-Cpp/src/client_connection.cc:178
>  #17 0x005351d8 in operator() (this=0x2b93a7133b10)
>  at 
> /root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/detail/bind_handler.hpp:181
>  #18 
> asio_handler_invoke  std::error_code, long unsigned int> > (
>  function=...) at 
> /root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/handler_invoke_hook.hpp:87
>  #19 
> invoke  std::error_code, long unsigned int>, 
> tubemq::ClientConnection::asyncRead()::__lambda7> (context=..., function=...)
>  at 
> /root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/detail/handler_invoke_helpers.hpp:54
>  #20 
> complete  std::error_code, long unsigned int> > (
>  handler=..., function=..., this=0x2b93a7133ae0)
>  at 
> 

[jira] [Assigned] (TUBEMQ-368) When tubemq::TubeMQConsumer shutdown() is called, there is a small probability that it will be cored directly

2020-10-02 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli reassigned TUBEMQ-368:
---

Assignee: charleli

> When tubemq::TubeMQConsumer shutdown() is called, there is a small 
> probability that it will be cored directly
> -
>
> Key: TUBEMQ-368
> URL: https://issues.apache.org/jira/browse/TUBEMQ-368
> Project: Apache TubeMQ
>  Issue Type: Bug
>  Components: Client
> Environment: linux
>Reporter: houjie
>Assignee: charleli
>Priority: Major
>
> When tubemq::TubeMQConsumer shutdown() is called, there is a small 
> probability that it will be cored directly. The following is the stack 
> information:
>  
> {quote}#0 0x2b939d73cc8e in __memcmp_sse4_1 () from /lib64/libc.so.6
>  #1 0x2b939ce788b3 in std::string::compare(std::string const&) const () 
> from /lib64/libstdc++.so.6
>  #2 0x00528c2e in operator< , 
> std::allocator > (__rhs="", __lhs="")
>  at /usr/include/c++/4.8.2/bits/basic_string.h:2571
>  #3 operator() (this=, __y="", __x="") at 
> /usr/include/c++/4.8.2/bits/stl_function.h:235
>  #4 std::_Rb_tree tubemq::PartitionExt>, std::_Select1st tubemq::PartitionExt> >, std::less, 
> std::allocator > 
> >::_M_lower_bound (
>  __x=0x2b93f00250f0, __y=0x2b93f0011f90, __y@entry=0x4a9d148, __k="", 
> this=0x4a9d140) at /usr/include/c++/4.8.2/bits/stl_tree.h:1141
>  #5 0x0052d65a in std::_Rb_tree const, tubemq::PartitionExt>, std::_Select1st tubemq::PartitionExt> >, std::less, 
> std::allocator > >::find 
> (this=this@entry=0x4a9d140, __k="") at 
> /usr/include/c++/4.8.2/bits/stl_tree.h:1792
>  #6 0x00529a4d in find (__x="", this=0x4a9d140) at 
> /usr/include/c++/4.8.2/bits/stl_map.h:822
>  Python Exception  list index out of range: 
>  #7 tubemq::RmtDataCacheCsm::GetPartitionByBroker (this=this@entry=0x4a9cf90, 
> broker_info=..., partition_list=empty std::list)
>  at /root/access_platform_group/TubeMQ-Client-Cpp/src/rmt_data_cache.cc:334
>  #8 0x0050b57d in tubemq::BaseConsumer::reSetBrokerHBTimer 
> (this=0x4a9cd90, broker=...)
>  at /root/access_platform_group/TubeMQ-Client-Cpp/src/baseconsumer.cc:1500
>  #9 0x0050b900 in tubemq::BaseConsumer::__lambda14::operator() 
> (__closure=0x2b93dc030070, error=..., response_context=...)
>  at /root/access_platform_group/TubeMQ-Client-Cpp/src/baseconsumer.cc:801
>  #10 0x0050be10 in std::_Function_handler const tubemq::ResponseContext&), 
> tubemq::BaseConsumer::processHeartBeat2Broker(tubemq::NodeInfo)::__lambda14>::_M_invoke(const
>  std::_Any_data &, tubemq::ErrorCode, const tubemq::ResponseContext &) (
>  __functor=..., __args#0=..., __args#1=...) at 
> /usr/include/c++/4.8.2/functional:2071
>  #11 0x00538318 in operator() (__args#1=..., 
>  __args#0= via synthetic pointer>, this=0x2b93a7133810)
>  at /usr/include/c++/4.8.2/functional:2471
>  #12 tubemq::Promise::callbackAndNotify 
> (this=this@entry=0x2b93d4001670)
>  at /root/access_platform_group/TubeMQ-Client-Cpp/src/future.h:130
>  #13 0x0053201d in SetValue (value=..., this=0x2b93d4001670) at 
> /root/access_platform_group/TubeMQ-Client-Cpp/src/future.h:102
>  #14 tubemq::ClientConnection::requestCallback 
> (this=this@entry=0x2b93d0915898, request_id=46829, err=err@entry=0x0, 
>  check_out=check_out@entry=0x2b93a7133930) at 
> /root/access_platform_group/TubeMQ-Client-Cpp/src/client_connection.cc:248
>  #15 0x00532531 in tubemq::ClientConnection::checkPackageDone 
> (this=0x2b93d0915898)
>  at /root/access_platform_group/TubeMQ-Client-Cpp/src/client_connection.cc:221
>  #16 0x00532c05 in tubemq::ClientConnection::__lambda7::operator() 
> (ec=..., len=, __closure=0x2b93a7133b10)
>  at /root/access_platform_group/TubeMQ-Client-Cpp/src/client_connection.cc:178
>  #17 0x005351d8 in operator() (this=0x2b93a7133b10)
>  at 
> /root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/detail/bind_handler.hpp:181
>  #18 
> asio_handler_invoke  std::error_code, long unsigned int> > (
>  function=...) at 
> /root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/handler_invoke_hook.hpp:87
>  #19 
> invoke  std::error_code, long unsigned int>, 
> tubemq::ClientConnection::asyncRead()::__lambda7> (context=..., function=...)
>  at 
> /root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/detail/handler_invoke_helpers.hpp:54
>  #20 
> complete  std::error_code, long unsigned int> > (
>  handler=..., function=..., this=0x2b93a7133ae0)
>  at 
> /root/access_platform_group/TubeMQ-Client-Cpp/build/third_party/include/asio/detail/handler_work.hpp:424
>  #21 asio::detail::reactive_socket_recv_op tubemq::ClientConnection::asyncRead()::__lambda7, 
> 

[jira] [Resolved] (TUBEMQ-356) C++ SDK Codec decode add requestid

2020-09-23 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-356?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-356.
-
Resolution: Fixed

> C++ SDK Codec decode add requestid
> --
>
> Key: TUBEMQ-356
> URL: https://issues.apache.org/jira/browse/TUBEMQ-356
> Project: Apache TubeMQ
>  Issue Type: Improvement
>Reporter: charleli
>Assignee: charleli
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-356) C++ SDK Codec decode add requestid

2020-09-16 Thread charleli (Jira)
charleli created TUBEMQ-356:
---

 Summary: C++ SDK Codec decode add requestid
 Key: TUBEMQ-356
 URL: https://issues.apache.org/jira/browse/TUBEMQ-356
 Project: Apache TubeMQ
  Issue Type: Improvement
Reporter: charleli






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-09-16 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-3.
---
Resolution: Fixed

> C++ SDK support in TubeMQ
> -
>
> Key: TUBEMQ-3
> URL: https://issues.apache.org/jira/browse/TUBEMQ-3
> Project: Apache TubeMQ
>  Issue Type: New Feature
>Reporter: zhangguocheng
>Assignee: charleli
>Priority: Normal
>  Labels: pull-request-available
> Fix For: 0.6.0
>
> Attachments: TubeMQCpp.png
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> I will contribute the SDK of C + +, which is currently being sorted out. 
> Without changing the server-side interaction protocol, the semantics will be 
> the same as the Java implementation.
>     !TubeMQCpp.png!
> Task
>  1.io thread management
>  2. Connection interface
>  3. Connection pool management
>  4.IO Buffer
>  5.Futrue/Promise support
>  6.Codec interface and TubeMQ interactive encoding
>  7. Functionalization of service interface parameter settings
>  8.Futrue service interface
>  9.Master implementation, metadata acquisition and reading interface
>  10. Consumer realization
>  11. Producer Realization
>  12.Client configuration
>  13. Producer API package
>  14. Consumer API package
> Plan
>  Phase 1 (Available)-Implement basic functions and ensure unit test coverage
>  RPC support
>  Message consumption (pull mode)
>  Write message (synchronous)
>  Connection pool implementation-automatic reconnection of broken links, 
> automatic recovery of idle connections, shared according to sessionFactory
>  Test case and specification construction-
> Phase 2 (Practical)-Realize the features of each function and be able to 
> adapt to a certain level of pressure measurement
>  Asynchronous production 
>  Authentication and authentication && Prevent production and consumption 
> around the master 
>  Accurately specify offset partition consumption 
>  Frequency control
>  Consumption of multiple topics in a single group 
>  Server filter consumption 
> Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
> realizing the latest function points according to priority
>  Inactive for more than specified minutes, mainly at the production end, such 
> as 3 minutes 
>  Automatically shield the dead pixels, detect the dead pixels through the 
> algorithm, and automatically shield the fault Broker's data transmission 
>  TLS 
>  push consumption
>  
> Featrue
>  1.rpc development
>  Pre-research--asio development
>  Connection interface
>  Connection pool management-connection reuse, automatic reconnection of 
> broken links, automatic recovery of idle connections, sharing according to 
> sessionFactory
>  Streaming request support-based on serialNo
>  Futrue/Promise interface
>  Codec interface
>  Log
>  Config
>  Buffer
> 2. Service interface development
>  API service interface, such as heartbeat package variable function
>  Request Futrue/Promise function encapsulation
>  Config: client, consumer, producer, Master, rpc
>  Message id
> 3.Client
>  turn stop
>  Configuration input
>  Consumer API
>  Producer API
> 4.Master
>  Authentication
>  Prevent the production and consumption around the Master: get the token from 
> the Master and update it to the local metadata
>  Metadata management: Topic, Group, Master
>  Master Heartbeat
> 5. Consumer
>  User interface
>  Heartbeat support
>  pull consumption
>  Consumption of multiple topics in a single group
>  Authentication
>  Precisely specify offset partition consumption
> 6. Producer
>  User interface
>  Simultaneous production
>  Asynchronous production
>  Load balancing algorithm: polling
>  Load balancing algorithm: hash
> 7. Advanced features
>  Master disconnects and reconnects, traversing dns to obtain Master host IP
>  Limiting
>  Effectively-Once
>  tls:asio+openssl
>  Filter consumption
>  Inactive for more than the specified minutes, mainly at the production end, 
> for example 3 minutes
>  Fuse: Automatically shield the dead spots, detect the dead spots through the 
> algorithm, automatically shield the fault Broker's data transmission
>  Reporting time-consuming, failure; static weight (number of partitions), 
> dynamic weight
>  Connection pool management-automatic recovery of idle connections, shared 
> according to sessionFactory
>  Push consumptio
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-271) C++ SDK copy constructor and assignment constructor

2020-09-15 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-271?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-271.
-
Resolution: Fixed

> C++ SDK  copy constructor and assignment constructor
> 
>
> Key: TUBEMQ-271
> URL: https://issues.apache.org/jira/browse/TUBEMQ-271
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>Reporter: charleli
>Assignee: charleli
>Priority: Minor
>  Labels: patch
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
>  The default copy constructor and assignment constructor already support 
> copying of value types. If only copying values without involving pointers, 
> there is no need to rewrite.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-09-15 Thread charleli (Jira)


[ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17195977#comment-17195977
 ] 

charleli commented on TUBEMQ-3:
---

already done consume, 
The consumer part has been completed, and the producer part will be completed 
later.

Reference code
https://github.com/Qihoo360/evpp/blob/master/evpp/any.h  version c5038a6  
LICENSE BSD 3-Clause
https://github.com/Qihoo360/evpp/blob/master/evpp/buffer.h version b2535d7  
LICENSE BSD 3-Clause
https://github.com/apache/pulsar/blob/master/pulsar-client-cpp/lib/Future.h 
b3596c4   LICENSE Apache 2.0


> C++ SDK support in TubeMQ
> -
>
> Key: TUBEMQ-3
> URL: https://issues.apache.org/jira/browse/TUBEMQ-3
> Project: Apache TubeMQ
>  Issue Type: New Feature
>Reporter: zhangguocheng
>Assignee: charleli
>Priority: Normal
> Fix For: 0.6.0
>
> Attachments: TubeMQCpp.png
>
>
> I will contribute the SDK of C + +, which is currently being sorted out. 
> Without changing the server-side interaction protocol, the semantics will be 
> the same as the Java implementation.
>     !TubeMQCpp.png!
> Task
>  1.io thread management
>  2. Connection interface
>  3. Connection pool management
>  4.IO Buffer
>  5.Futrue/Promise support
>  6.Codec interface and TubeMQ interactive encoding
>  7. Functionalization of service interface parameter settings
>  8.Futrue service interface
>  9.Master implementation, metadata acquisition and reading interface
>  10. Consumer realization
>  11. Producer Realization
>  12.Client configuration
>  13. Producer API package
>  14. Consumer API package
> Plan
>  Phase 1 (Available)-Implement basic functions and ensure unit test coverage
>  RPC support
>  Message consumption (pull mode)
>  Write message (synchronous)
>  Connection pool implementation-automatic reconnection of broken links, 
> automatic recovery of idle connections, shared according to sessionFactory
>  Test case and specification construction-
> Phase 2 (Practical)-Realize the features of each function and be able to 
> adapt to a certain level of pressure measurement
>  Asynchronous production 
>  Authentication and authentication && Prevent production and consumption 
> around the master 
>  Accurately specify offset partition consumption 
>  Frequency control
>  Consumption of multiple topics in a single group 
>  Server filter consumption 
> Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
> realizing the latest function points according to priority
>  Inactive for more than specified minutes, mainly at the production end, such 
> as 3 minutes 
>  Automatically shield the dead pixels, detect the dead pixels through the 
> algorithm, and automatically shield the fault Broker's data transmission 
>  TLS 
>  push consumption
>  
> Featrue
>  1.rpc development
>  Pre-research--asio development
>  Connection interface
>  Connection pool management-connection reuse, automatic reconnection of 
> broken links, automatic recovery of idle connections, sharing according to 
> sessionFactory
>  Streaming request support-based on serialNo
>  Futrue/Promise interface
>  Codec interface
>  Log
>  Config
>  Buffer
> 2. Service interface development
>  API service interface, such as heartbeat package variable function
>  Request Futrue/Promise function encapsulation
>  Config: client, consumer, producer, Master, rpc
>  Message id
> 3.Client
>  turn stop
>  Configuration input
>  Consumer API
>  Producer API
> 4.Master
>  Authentication
>  Prevent the production and consumption around the Master: get the token from 
> the Master and update it to the local metadata
>  Metadata management: Topic, Group, Master
>  Master Heartbeat
> 5. Consumer
>  User interface
>  Heartbeat support
>  pull consumption
>  Consumption of multiple topics in a single group
>  Authentication
>  Precisely specify offset partition consumption
> 6. Producer
>  User interface
>  Simultaneous production
>  Asynchronous production
>  Load balancing algorithm: polling
>  Load balancing algorithm: hash
> 7. Advanced features
>  Master disconnects and reconnects, traversing dns to obtain Master host IP
>  Limiting
>  Effectively-Once
>  tls:asio+openssl
>  Filter consumption
>  Inactive for more than the specified minutes, mainly at the production end, 
> for example 3 minutes
>  Fuse: Automatically shield the dead spots, detect the dead spots through the 
> algorithm, automatically shield the fault Broker's data transmission
>  Reporting time-consuming, failure; static weight (number of partitions), 
> dynamic weight
>  Connection pool management-automatic recovery of idle connections, shared 
> according to sessionFactory
>  Push consumptio
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-09-15 Thread charleli (Jira)


[ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17195977#comment-17195977
 ] 

charleli edited comment on TUBEMQ-3 at 9/15/20, 8:37 AM:
-

The consumer part has been completed, and the producer part will be completed 
later.

Reference code
https://github.com/Qihoo360/evpp/blob/master/evpp/any.h  version c5038a6  
LICENSE BSD 3-Clause
https://github.com/Qihoo360/evpp/blob/master/evpp/buffer.h version b2535d7  
LICENSE BSD 3-Clause
https://github.com/apache/pulsar/blob/master/pulsar-client-cpp/lib/Future.h 
b3596c4   LICENSE Apache 2.0



was (Author: charleli):
already done consume, 
The consumer part has been completed, and the producer part will be completed 
later.

Reference code
https://github.com/Qihoo360/evpp/blob/master/evpp/any.h  version c5038a6  
LICENSE BSD 3-Clause
https://github.com/Qihoo360/evpp/blob/master/evpp/buffer.h version b2535d7  
LICENSE BSD 3-Clause
https://github.com/apache/pulsar/blob/master/pulsar-client-cpp/lib/Future.h 
b3596c4   LICENSE Apache 2.0


> C++ SDK support in TubeMQ
> -
>
> Key: TUBEMQ-3
> URL: https://issues.apache.org/jira/browse/TUBEMQ-3
> Project: Apache TubeMQ
>  Issue Type: New Feature
>Reporter: zhangguocheng
>Assignee: charleli
>Priority: Normal
> Fix For: 0.6.0
>
> Attachments: TubeMQCpp.png
>
>
> I will contribute the SDK of C + +, which is currently being sorted out. 
> Without changing the server-side interaction protocol, the semantics will be 
> the same as the Java implementation.
>     !TubeMQCpp.png!
> Task
>  1.io thread management
>  2. Connection interface
>  3. Connection pool management
>  4.IO Buffer
>  5.Futrue/Promise support
>  6.Codec interface and TubeMQ interactive encoding
>  7. Functionalization of service interface parameter settings
>  8.Futrue service interface
>  9.Master implementation, metadata acquisition and reading interface
>  10. Consumer realization
>  11. Producer Realization
>  12.Client configuration
>  13. Producer API package
>  14. Consumer API package
> Plan
>  Phase 1 (Available)-Implement basic functions and ensure unit test coverage
>  RPC support
>  Message consumption (pull mode)
>  Write message (synchronous)
>  Connection pool implementation-automatic reconnection of broken links, 
> automatic recovery of idle connections, shared according to sessionFactory
>  Test case and specification construction-
> Phase 2 (Practical)-Realize the features of each function and be able to 
> adapt to a certain level of pressure measurement
>  Asynchronous production 
>  Authentication and authentication && Prevent production and consumption 
> around the master 
>  Accurately specify offset partition consumption 
>  Frequency control
>  Consumption of multiple topics in a single group 
>  Server filter consumption 
> Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
> realizing the latest function points according to priority
>  Inactive for more than specified minutes, mainly at the production end, such 
> as 3 minutes 
>  Automatically shield the dead pixels, detect the dead pixels through the 
> algorithm, and automatically shield the fault Broker's data transmission 
>  TLS 
>  push consumption
>  
> Featrue
>  1.rpc development
>  Pre-research--asio development
>  Connection interface
>  Connection pool management-connection reuse, automatic reconnection of 
> broken links, automatic recovery of idle connections, sharing according to 
> sessionFactory
>  Streaming request support-based on serialNo
>  Futrue/Promise interface
>  Codec interface
>  Log
>  Config
>  Buffer
> 2. Service interface development
>  API service interface, such as heartbeat package variable function
>  Request Futrue/Promise function encapsulation
>  Config: client, consumer, producer, Master, rpc
>  Message id
> 3.Client
>  turn stop
>  Configuration input
>  Consumer API
>  Producer API
> 4.Master
>  Authentication
>  Prevent the production and consumption around the Master: get the token from 
> the Master and update it to the local metadata
>  Metadata management: Topic, Group, Master
>  Master Heartbeat
> 5. Consumer
>  User interface
>  Heartbeat support
>  pull consumption
>  Consumption of multiple topics in a single group
>  Authentication
>  Precisely specify offset partition consumption
> 6. Producer
>  User interface
>  Simultaneous production
>  Asynchronous production
>  Load balancing algorithm: polling
>  Load balancing algorithm: hash
> 7. Advanced features
>  Master disconnects and reconnects, traversing dns to obtain Master host IP
>  Limiting
>  Effectively-Once
>  tls:asio+openssl
>  Filter consumption
>  Inactive for more than the specified minutes, mainly at the production end, 
> for example 3 minutes
>  Fuse: Automatically shield the 

[jira] [Resolved] (TUBEMQ-351) C++ SDK example

2020-09-15 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-351?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-351.
-
Resolution: Fixed

> C++ SDK example
> -
>
> Key: TUBEMQ-351
> URL: https://issues.apache.org/jira/browse/TUBEMQ-351
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>Reporter: charleli
>Assignee: charleli
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 10m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-270) this point c++ SDK class

2020-09-15 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-270.
-
Resolution: Fixed

> this point c++ SDK class
> 
>
> Key: TUBEMQ-270
> URL: https://issues.apache.org/jira/browse/TUBEMQ-270
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>  Components: Client
>Reporter: charleli
>Priority: Minor
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> Use this pointer as little as possible inside the class.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-350) C++ SDK client code adj

2020-09-15 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-350.
-
Resolution: Fixed

> C++ SDK client code adj
> ---
>
> Key: TUBEMQ-350
> URL: https://issues.apache.org/jira/browse/TUBEMQ-350
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>Reporter: charleli
>Assignee: charleli
>Priority: Major
>  Labels: pull-request-available
> Fix For: tubemq-client-cpp
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> C++ SDK client code adj



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-351) C++ SDK example

2020-09-15 Thread charleli (Jira)
charleli created TUBEMQ-351:
---

 Summary: C++ SDK example
 Key: TUBEMQ-351
 URL: https://issues.apache.org/jira/browse/TUBEMQ-351
 Project: Apache TubeMQ
  Issue Type: Sub-task
Reporter: charleli
Assignee: charleli






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-350) C++ SDK client code adj

2020-09-14 Thread charleli (Jira)
charleli created TUBEMQ-350:
---

 Summary: C++ SDK client code adj
 Key: TUBEMQ-350
 URL: https://issues.apache.org/jira/browse/TUBEMQ-350
 Project: Apache TubeMQ
  Issue Type: Sub-task
Reporter: charleli
Assignee: charleli
 Fix For: tubemq-client-cpp


C++ SDK client code adj



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-349) C++ SDK Create Thread Pool

2020-09-14 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-349?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-349.
-
Resolution: Fixed

> C++ SDK Create Thread Pool
> --
>
> Key: TUBEMQ-349
> URL: https://issues.apache.org/jira/browse/TUBEMQ-349
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>Reporter: charleli
>Assignee: charleli
>Priority: Major
>  Labels: pull-request-available
> Fix For: tubemq-client-cpp
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> C++ SDK Create Thread Pool



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-348) C++SDK Client handler detail

2020-09-14 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-348?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-348.
-
Resolution: Fixed

> C++SDK Client handler detail
> 
>
> Key: TUBEMQ-348
> URL: https://issues.apache.org/jira/browse/TUBEMQ-348
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>  Components: Client
>Reporter: charleli
>Priority: Major
>  Labels: pull-request-available
> Fix For: tubemq-client-cpp
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> C++SDK Client handler detail



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-293) C++ SDK Create Future class

2020-09-14 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-293.
-
Resolution: Fixed

> C++ SDK Create Future class 
> 
>
> Key: TUBEMQ-293
> URL: https://issues.apache.org/jira/browse/TUBEMQ-293
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>  Components: Client
>Reporter: charleli
>Assignee: charleli
>Priority: Major
>  Labels: pull-request-available
> Fix For: tubemq-client-cpp
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Create Future class 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TUBEMQ-293) C++ SDK Create Future class

2020-09-14 Thread charleli (Jira)


[ 
https://issues.apache.org/jira/browse/TUBEMQ-293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17195840#comment-17195840
 ] 

charleli commented on TUBEMQ-293:
-

Apache 2.0
https://github.com/apache/pulsar/blob/master/pulsar-client-cpp/lib/Future.h

> C++ SDK Create Future class 
> 
>
> Key: TUBEMQ-293
> URL: https://issues.apache.org/jira/browse/TUBEMQ-293
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>  Components: Client
>Reporter: charleli
>Assignee: charleli
>Priority: Major
>  Labels: pull-request-available
> Fix For: tubemq-client-cpp
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Create Future class 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-347) C++ SDK Create client API

2020-09-14 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-347?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-347.
-
Resolution: Fixed

> C++ SDK Create client API
> -
>
> Key: TUBEMQ-347
> URL: https://issues.apache.org/jira/browse/TUBEMQ-347
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>Reporter: charleli
>Assignee: charleli
>Priority: Major
>  Labels: pull-request-available
>   Original Estimate: 48h
>  Time Spent: 20m
>  Remaining Estimate: 47h 40m
>
> C++ SDK Create client API



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-348) C++SDK Client handler detail

2020-09-14 Thread charleli (Jira)
charleli created TUBEMQ-348:
---

 Summary: C++SDK Client handler detail
 Key: TUBEMQ-348
 URL: https://issues.apache.org/jira/browse/TUBEMQ-348
 Project: Apache TubeMQ
  Issue Type: Sub-task
  Components: Client
Reporter: charleli
 Fix For: tubemq-client-cpp


C++SDK Client handler detail



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-347) C++ SDK Create client API

2020-09-14 Thread charleli (Jira)
charleli created TUBEMQ-347:
---

 Summary: C++ SDK Create client API
 Key: TUBEMQ-347
 URL: https://issues.apache.org/jira/browse/TUBEMQ-347
 Project: Apache TubeMQ
  Issue Type: Sub-task
Reporter: charleli
Assignee: charleli


C++ SDK Create client API



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-291) C++ SDK Connect Pool

2020-09-14 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-291?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-291.
-
  Assignee: charleli
Resolution: Fixed

> C++ SDK Connect Pool
> 
>
> Key: TUBEMQ-291
> URL: https://issues.apache.org/jira/browse/TUBEMQ-291
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>  Components: Client
>Reporter: charleli
>Assignee: charleli
>Priority: Major
> Fix For: tubemq-client-cpp
>
>
> Connect Pool key->connect



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-289) C++ SDK Codec TubeMQ proto support

2020-09-14 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-289?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-289.
-
  Assignee: charleli
Resolution: Fixed

> C++ SDK Codec TubeMQ proto support
> --
>
> Key: TUBEMQ-289
> URL: https://issues.apache.org/jira/browse/TUBEMQ-289
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>  Components: Client
>Reporter: charleli
>Assignee: charleli
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Codec TubeMQ proto support



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-288) C++ SDK Codec interface

2020-09-14 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-288?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-288.
-
  Assignee: charleli
Resolution: Fixed

> C++ SDK Codec interface
> ---
>
> Key: TUBEMQ-288
> URL: https://issues.apache.org/jira/browse/TUBEMQ-288
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>  Components: Client
>Reporter: charleli
>Assignee: charleli
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Codec interface 
> Encode
> Check return buf size and get buf seq
> Decode



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-287) C++ SDK io buffer

2020-09-14 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-287?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-287.
-
  Assignee: charleli
Resolution: Fixed

> C++ SDK io buffer
> -
>
> Key: TUBEMQ-287
> URL: https://issues.apache.org/jira/browse/TUBEMQ-287
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>  Components: Client
>Reporter: charleli
>Assignee: charleli
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> IO buffer support read pos and write pos, and get asio::buffer



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-313) Broker heartbeat performance issues

2020-08-11 Thread charleli (Jira)
charleli created TUBEMQ-313:
---

 Summary:  Broker heartbeat performance issues
 Key: TUBEMQ-313
 URL: https://issues.apache.org/jira/browse/TUBEMQ-313
 Project: Apache TubeMQ
  Issue Type: Improvement
  Components: Broker
Reporter: charleli


Broker heartbeat performance issues

At present, Broker needs to report heartbeats regularly. In the case of large 
batch requests, when the CPU performance of the client and server is very high, 
the heartbeat report is not timely, and there is a high probability that the 
heartbeat report fails, causing the client to disconnect.
At the optimization point, the data packet request of the client can be 
regarded as the heartbeat data.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-292) C++ SDK singleton & executor_pool optimization

2020-07-21 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-292.
-
Resolution: Fixed

> C++ SDK singleton & executor_pool optimization
> --
>
> Key: TUBEMQ-292
> URL: https://issues.apache.org/jira/browse/TUBEMQ-292
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>  Components: Client
>Reporter: charleli
>Assignee: charleli
>Priority: Normal
>  Labels: pull-request-available
> Fix For: tubemq-client-cpp
>
>   Original Estimate: 24h
>  Time Spent: 20m
>  Remaining Estimate: 23h 40m
>
> executor_pool add resize



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-281) atomic_def.h use C++11 stdlib class

2020-07-21 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-281?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-281.
-
Fix Version/s: tubemq-client-cpp
   Resolution: Fixed

> atomic_def.h use C++11 stdlib class
> ---
>
> Key: TUBEMQ-281
> URL: https://issues.apache.org/jira/browse/TUBEMQ-281
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>  Components: Client
>Reporter: charleli
>Assignee: charleli
>Priority: Major
>  Labels: pull-request-available
> Fix For: tubemq-client-cpp
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> atomic_def.h use C++11 stdlib class



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-293) C++ SDK Create Future class

2020-07-21 Thread charleli (Jira)
charleli created TUBEMQ-293:
---

 Summary: C++ SDK Create Future class 
 Key: TUBEMQ-293
 URL: https://issues.apache.org/jira/browse/TUBEMQ-293
 Project: Apache TubeMQ
  Issue Type: Sub-task
  Components: Client
Reporter: charleli
Assignee: charleli
 Fix For: tubemq-client-cpp


Create Future class 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-292) C++ SDK singleton & executor_pool optimization

2020-07-21 Thread charleli (Jira)
charleli created TUBEMQ-292:
---

 Summary: C++ SDK singleton & executor_pool optimization
 Key: TUBEMQ-292
 URL: https://issues.apache.org/jira/browse/TUBEMQ-292
 Project: Apache TubeMQ
  Issue Type: Sub-task
  Components: Client
Reporter: charleli
Assignee: charleli
 Fix For: tubemq-client-cpp


executor_pool add resize



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-275) Thread Pool & Timer

2020-07-21 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-275.
-
Fix Version/s: tubemq-client-cpp
   Resolution: Fixed

> Thread Pool & Timer
> ---
>
> Key: TUBEMQ-275
> URL: https://issues.apache.org/jira/browse/TUBEMQ-275
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>  Components: Client
>Reporter: charleli
>Assignee: charleli
>Priority: Major
>  Labels: pull-request-available
> Fix For: tubemq-client-cpp
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-291) C++ SDK Connect Pool

2020-07-21 Thread charleli (Jira)
charleli created TUBEMQ-291:
---

 Summary: C++ SDK Connect Pool
 Key: TUBEMQ-291
 URL: https://issues.apache.org/jira/browse/TUBEMQ-291
 Project: Apache TubeMQ
  Issue Type: Sub-task
  Components: Client
Reporter: charleli
 Fix For: tubemq-client-cpp


Connect Pool key->connect



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-288) C++ SDK Codec interface

2020-07-21 Thread charleli (Jira)
charleli created TUBEMQ-288:
---

 Summary: C++ SDK Codec interface
 Key: TUBEMQ-288
 URL: https://issues.apache.org/jira/browse/TUBEMQ-288
 Project: Apache TubeMQ
  Issue Type: Sub-task
  Components: Client
Reporter: charleli


Codec interface 
Encode
Check return buf size and get buf seq
Decode



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-287) C++ SDK io buffer

2020-07-21 Thread charleli (Jira)
charleli created TUBEMQ-287:
---

 Summary: C++ SDK io buffer
 Key: TUBEMQ-287
 URL: https://issues.apache.org/jira/browse/TUBEMQ-287
 Project: Apache TubeMQ
  Issue Type: Sub-task
  Components: Client
Reporter: charleli


IO buffer support read pos and write pos, and get asio::buffer



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-281) atomic_def.h use C++11 stdlib class

2020-07-14 Thread charleli (Jira)
charleli created TUBEMQ-281:
---

 Summary: atomic_def.h use C++11 stdlib class
 Key: TUBEMQ-281
 URL: https://issues.apache.org/jira/browse/TUBEMQ-281
 Project: Apache TubeMQ
  Issue Type: Sub-task
  Components: Client
Reporter: charleli
Assignee: charleli


atomic_def.h use C++11 stdlib class



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-274) Support CMake compilation

2020-07-09 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-274.
-
Resolution: Fixed

> Support CMake compilation
> -
>
> Key: TUBEMQ-274
> URL: https://issues.apache.org/jira/browse/TUBEMQ-274
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>Reporter: charleli
>Assignee: charleli
>Priority: Major
>  Labels: pull-request-available
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Support CMake compilation



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-275) Thread Pool & Timer

2020-07-09 Thread charleli (Jira)
charleli created TUBEMQ-275:
---

 Summary: Thread Pool & Timer
 Key: TUBEMQ-275
 URL: https://issues.apache.org/jira/browse/TUBEMQ-275
 Project: Apache TubeMQ
  Issue Type: Sub-task
  Components: Client
Reporter: charleli
Assignee: charleli






--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Reopened] (TUBEMQ-273) C++ SDK dir name change inc -> include/tubemq/

2020-07-09 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-273?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli reopened TUBEMQ-273:
-

> C++ SDK dir name change inc -> include/tubemq/ 
> ---
>
> Key: TUBEMQ-273
> URL: https://issues.apache.org/jira/browse/TUBEMQ-273
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>Reporter: charleli
>Assignee: charleli
>Priority: Minor
> Fix For: tubemq-client-cpp
>
>
> Standardize the header file directory, keep it consistent with other open 
> source projects, and easier to quote.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-273) C++ SDK dir name change inc -> include/tubemq/

2020-07-09 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-273?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-273.
-
Resolution: Fixed

> C++ SDK dir name change inc -> include/tubemq/ 
> ---
>
> Key: TUBEMQ-273
> URL: https://issues.apache.org/jira/browse/TUBEMQ-273
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>Reporter: charleli
>Assignee: charleli
>Priority: Minor
> Fix For: tubemq-client-cpp
>
>
> Standardize the header file directory, keep it consistent with other open 
> source projects, and easier to quote.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Closed] (TUBEMQ-273) C++ SDK dir name change inc -> include/tubemq/

2020-07-09 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-273?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli closed TUBEMQ-273.
---

> C++ SDK dir name change inc -> include/tubemq/ 
> ---
>
> Key: TUBEMQ-273
> URL: https://issues.apache.org/jira/browse/TUBEMQ-273
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>Reporter: charleli
>Assignee: charleli
>Priority: Minor
> Fix For: tubemq-client-cpp
>
>
> Standardize the header file directory, keep it consistent with other open 
> source projects, and easier to quote.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-273) C++ SDK dir name change inc -> include/tubemq/

2020-07-09 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-273?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-273.
-
Fix Version/s: tubemq-client-cpp
 Assignee: charleli
   Resolution: Fixed

> C++ SDK dir name change inc -> include/tubemq/ 
> ---
>
> Key: TUBEMQ-273
> URL: https://issues.apache.org/jira/browse/TUBEMQ-273
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>Reporter: charleli
>Assignee: charleli
>Priority: Minor
> Fix For: tubemq-client-cpp
>
>
> Standardize the header file directory, keep it consistent with other open 
> source projects, and easier to quote.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-274) Support CMake compilation

2020-07-08 Thread charleli (Jira)
charleli created TUBEMQ-274:
---

 Summary: Support CMake compilation
 Key: TUBEMQ-274
 URL: https://issues.apache.org/jira/browse/TUBEMQ-274
 Project: Apache TubeMQ
  Issue Type: Sub-task
Reporter: charleli
Assignee: charleli


Support CMake compilation



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-273) C++ SDK dir name change inc -> include/tubemq/

2020-07-07 Thread charleli (Jira)
charleli created TUBEMQ-273:
---

 Summary: C++ SDK dir name change inc -> include/tubemq/ 
 Key: TUBEMQ-273
 URL: https://issues.apache.org/jira/browse/TUBEMQ-273
 Project: Apache TubeMQ
  Issue Type: Sub-task
Reporter: charleli



Standardize the header file directory, keep it consistent with other open 
source projects, and easier to quote.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-271) C++ SDK copy constructor and assignment constructor

2020-07-07 Thread charleli (Jira)
charleli created TUBEMQ-271:
---

 Summary: C++ SDK  copy constructor and assignment constructor
 Key: TUBEMQ-271
 URL: https://issues.apache.org/jira/browse/TUBEMQ-271
 Project: Apache TubeMQ
  Issue Type: Sub-task
Reporter: charleli


 The default copy constructor and assignment constructor already support 
copying of value types. If only copying values without involving pointers, 
there is no need to rewrite.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-270) this point c++ SDK class

2020-07-07 Thread charleli (Jira)
charleli created TUBEMQ-270:
---

 Summary: this point c++ SDK class
 Key: TUBEMQ-270
 URL: https://issues.apache.org/jira/browse/TUBEMQ-270
 Project: Apache TubeMQ
  Issue Type: Sub-task
  Components: Client
Reporter: charleli


Use this pointer as little as possible inside the class.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (TUBEMQ-268) C++ SDK log module

2020-07-06 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-268?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli resolved TUBEMQ-268.
-
Resolution: Fixed

> C++ SDK log module
> --
>
> Key: TUBEMQ-268
> URL: https://issues.apache.org/jira/browse/TUBEMQ-268
> Project: Apache TubeMQ
>  Issue Type: Sub-task
>  Components: Client
>Reporter: charleli
>Assignee: charleli
>Priority: Normal
>  Labels: features, pull-request-available
> Fix For: tubemq-client-cpp
>
>   Original Estimate: 48h
>  Time Spent: 1h 20m
>  Remaining Estimate: 46h 40m
>
> C++ SDK log module, support file log



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (TUBEMQ-268) C++ SDK log module

2020-07-03 Thread charleli (Jira)
charleli created TUBEMQ-268:
---

 Summary: C++ SDK log module
 Key: TUBEMQ-268
 URL: https://issues.apache.org/jira/browse/TUBEMQ-268
 Project: Apache TubeMQ
  Issue Type: Sub-task
  Components: Client
Reporter: charleli
Assignee: charleli
 Fix For: tubemq-client-cpp


C++ SDK log module, support file log



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-06-22 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli updated TUBEMQ-3:
--
Description: 
I will contribute the SDK of C + +, which is currently being sorted out. 
Without changing the server-side interaction protocol, the semantics will be 
the same as the Java implementation.

    !TubeMQCpp.png!

Task
 1.io thread management
 2. Connection interface
 3. Connection pool management
 4.IO Buffer
 5.Futrue/Promise support
 6.Codec interface and TubeMQ interactive encoding
 7. Functionalization of service interface parameter settings
 8.Futrue service interface
 9.Master implementation, metadata acquisition and reading interface
 10. Consumer realization
 11. Producer Realization
 12.Client configuration
 13. Producer API package
 14. Consumer API package

Plan
 Phase 1 (Available)-Implement basic functions and ensure unit test coverage
 RPC support
 Message consumption (pull mode)
 Write message (synchronous)
 Connection pool implementation-automatic reconnection of broken links, 
automatic recovery of idle connections, shared according to sessionFactory
 Test case and specification construction-

Phase 2 (Practical)-Realize the features of each function and be able to adapt 
to a certain level of pressure measurement
 Asynchronous production 
 Authentication and authentication && Prevent production and consumption around 
the master 
 Accurately specify offset partition consumption 
 Frequency control
 Consumption of multiple topics in a single group 
 Server filter consumption 

Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
realizing the latest function points according to priority
 Inactive for more than specified minutes, mainly at the production end, such 
as 3 minutes 
 Automatically shield the dead pixels, detect the dead pixels through the 
algorithm, and automatically shield the fault Broker's data transmission 
 TLS 
 push consumption

 

Featrue
 1.rpc development
 Pre-research--asio development
 Connection interface
 Connection pool management-connection reuse, automatic reconnection of broken 
links, automatic recovery of idle connections, sharing according to 
sessionFactory
 Streaming request support-based on serialNo
 Futrue/Promise interface
 Codec interface
 Log
 Config
 Buffer

2. Service interface development
 API service interface, such as heartbeat package variable function
 Request Futrue/Promise function encapsulation
 Config: client, consumer, producer, Master, rpc
 Message id

3.Client
 turn stop
 Configuration input
 Consumer API
 Producer API

4.Master
 Authentication
 Prevent the production and consumption around the Master: get the token from 
the Master and update it to the local metadata
 Metadata management: Topic, Group, Master
 Master Heartbeat

5. Consumer
 User interface
 Heartbeat support
 pull consumption
 Consumption of multiple topics in a single group
 Authentication
 Precisely specify offset partition consumption

6. Producer
 User interface
 Simultaneous production
 Asynchronous production
 Load balancing algorithm: polling
 Load balancing algorithm: hash

7. Advanced features
 Master disconnects and reconnects, traversing dns to obtain Master host IP
 Limiting
 Effectively-Once
 tls:asio+openssl
 Filter consumption
 Inactive for more than the specified minutes, mainly at the production end, 
for example 3 minutes
 Fuse: Automatically shield the dead spots, detect the dead spots through the 
algorithm, automatically shield the fault Broker's data transmission
 Reporting time-consuming, failure; static weight (number of partitions), 
dynamic weight
 Connection pool management-automatic recovery of idle connections, shared 
according to sessionFactory
 Push consumptio

 

 

  was:
I will contribute the SDK of C + +, which is currently being sorted out. 
Without changing the server-side interaction protocol, the semantics will be 
the same as the Java implementation.

   !TubeMQCpp.png!

Task
 1.io thread management
 2. Connection interface
 3. Connection pool management
 4.IO Buffer
 5.Futrue/Promise support
 6.Codec interface and TubeMQ interactive encoding
 7. Functionalization of service interface parameter settings
 8.Futrue service interface
 9.Master implementation, metadata acquisition and reading interface
 10. Consumer realization
 11. Producer Realization
 12.Client configuration
 13. Producer API package
 14. Consumer API package

Plan
 Phase 1 (Available)-Implement basic functions and ensure unit test coverage
 RPC support
 Message consumption (pull mode)
 Write message (synchronous)
 Connection pool implementation-automatic reconnection of broken links, 
automatic recovery of idle connections, shared according to sessionFactory
 Test case and specification construction-

Phase 2 (Practical)-Realize the features of each function and be able to adapt 
to a certain level of pressure measurement
 Asynchronous production 

[jira] [Updated] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-06-22 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli updated TUBEMQ-3:
--
Attachment: TubeMQCpp.png

> C++ SDK support in TubeMQ
> -
>
> Key: TUBEMQ-3
> URL: https://issues.apache.org/jira/browse/TUBEMQ-3
> Project: Apache TubeMQ
>  Issue Type: New Feature
>Reporter: zhangguocheng
>Assignee: charleli
>Priority: Normal
> Attachments: TubeMQCpp.png
>
>
> I will contribute the SDK of C + +, which is currently being sorted out. 
> Without changing the server-side interaction protocol, the semantics will be 
> the same as the Java implementation.
>    !TubeMQCpp.png!
> Task
>  1.io thread management
>  2. Connection interface
>  3. Connection pool management
>  4.IO Buffer
>  5.Futrue/Promise support
>  6.Codec interface and TubeMQ interactive encoding
>  7. Functionalization of service interface parameter settings
>  8.Futrue service interface
>  9.Master implementation, metadata acquisition and reading interface
>  10. Consumer realization
>  11. Producer Realization
>  12.Client configuration
>  13. Producer API package
>  14. Consumer API package
> Plan
>  Phase 1 (Available)-Implement basic functions and ensure unit test coverage
>  RPC support
>  Message consumption (pull mode)
>  Write message (synchronous)
>  Connection pool implementation-automatic reconnection of broken links, 
> automatic recovery of idle connections, shared according to sessionFactory
>  Test case and specification construction-
> Phase 2 (Practical)-Realize the features of each function and be able to 
> adapt to a certain level of pressure measurement
>  Asynchronous production 
>  Authentication and authentication && Prevent production and consumption 
> around the master 
>  Accurately specify offset partition consumption 
>  Frequency control
>  Consumption of multiple topics in a single group 
>  Server filter consumption 
> Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
> realizing the latest function points according to priority
>  Inactive for more than specified minutes, mainly at the production end, such 
> as 3 minutes 
>  Automatically shield the dead pixels, detect the dead pixels through the 
> algorithm, and automatically shield the fault Broker's data transmission 
>  TLS 
>  push consumption
>  
> Featrue
>  1.rpc development
>  Pre-research--asio development
>  Connection interface
>  Connection pool management-connection reuse, automatic reconnection of 
> broken links, automatic recovery of idle connections, sharing according to 
> sessionFactory
>  Streaming request support-based on serialNo
>  Futrue/Promise interface
>  Codec interface
>  Log
>  Config
>  Buffer
> 2. Service interface development
>  API service interface, such as heartbeat package variable function
>  Request Futrue/Promise function encapsulation
>  Config: client, consumer, producer, Master, rpc
>  Message id
> 3.Client
>  turn stop
>  Configuration input
>  Consumer API
>  Producer API
> 4.Master
>  Authentication
>  Prevent the production and consumption around the Master: get the token from 
> the Master and update it to the local metadata
>  Metadata management: Topic, Group, Master
>  Master Heartbeat
> 5. Consumer
>  User interface
>  Heartbeat support
>  pull consumption
>  Consumption of multiple topics in a single group
>  Authentication
>  Precisely specify offset partition consumption
> 6. Producer
>  User interface
>  Simultaneous production
>  Asynchronous production
>  Load balancing algorithm: polling
>  Load balancing algorithm: hash
> 7. Advanced features
>  Master disconnects and reconnects, traversing dns to obtain Master host IP
>  Limiting
>  Effectively-Once
>  tls:asio+openssl
>  Filter consumption
>  Inactive for more than the specified minutes, mainly at the production end, 
> for example 3 minutes
>  Fuse: Automatically shield the dead spots, detect the dead spots through the 
> algorithm, automatically shield the fault Broker's data transmission
>  Reporting time-consuming, failure; static weight (number of partitions), 
> dynamic weight
>  Connection pool management-automatic recovery of idle connections, shared 
> according to sessionFactory
>  Push consumptio
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-06-22 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli updated TUBEMQ-3:
--
Attachment: (was: TubeMQCpp.png)

> C++ SDK support in TubeMQ
> -
>
> Key: TUBEMQ-3
> URL: https://issues.apache.org/jira/browse/TUBEMQ-3
> Project: Apache TubeMQ
>  Issue Type: New Feature
>Reporter: zhangguocheng
>Assignee: charleli
>Priority: Normal
> Attachments: TubeMQCpp.png
>
>
> I will contribute the SDK of C + +, which is currently being sorted out. 
> Without changing the server-side interaction protocol, the semantics will be 
> the same as the Java implementation.
>     !TubeMQCpp.png!
> Task
>  1.io thread management
>  2. Connection interface
>  3. Connection pool management
>  4.IO Buffer
>  5.Futrue/Promise support
>  6.Codec interface and TubeMQ interactive encoding
>  7. Functionalization of service interface parameter settings
>  8.Futrue service interface
>  9.Master implementation, metadata acquisition and reading interface
>  10. Consumer realization
>  11. Producer Realization
>  12.Client configuration
>  13. Producer API package
>  14. Consumer API package
> Plan
>  Phase 1 (Available)-Implement basic functions and ensure unit test coverage
>  RPC support
>  Message consumption (pull mode)
>  Write message (synchronous)
>  Connection pool implementation-automatic reconnection of broken links, 
> automatic recovery of idle connections, shared according to sessionFactory
>  Test case and specification construction-
> Phase 2 (Practical)-Realize the features of each function and be able to 
> adapt to a certain level of pressure measurement
>  Asynchronous production 
>  Authentication and authentication && Prevent production and consumption 
> around the master 
>  Accurately specify offset partition consumption 
>  Frequency control
>  Consumption of multiple topics in a single group 
>  Server filter consumption 
> Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
> realizing the latest function points according to priority
>  Inactive for more than specified minutes, mainly at the production end, such 
> as 3 minutes 
>  Automatically shield the dead pixels, detect the dead pixels through the 
> algorithm, and automatically shield the fault Broker's data transmission 
>  TLS 
>  push consumption
>  
> Featrue
>  1.rpc development
>  Pre-research--asio development
>  Connection interface
>  Connection pool management-connection reuse, automatic reconnection of 
> broken links, automatic recovery of idle connections, sharing according to 
> sessionFactory
>  Streaming request support-based on serialNo
>  Futrue/Promise interface
>  Codec interface
>  Log
>  Config
>  Buffer
> 2. Service interface development
>  API service interface, such as heartbeat package variable function
>  Request Futrue/Promise function encapsulation
>  Config: client, consumer, producer, Master, rpc
>  Message id
> 3.Client
>  turn stop
>  Configuration input
>  Consumer API
>  Producer API
> 4.Master
>  Authentication
>  Prevent the production and consumption around the Master: get the token from 
> the Master and update it to the local metadata
>  Metadata management: Topic, Group, Master
>  Master Heartbeat
> 5. Consumer
>  User interface
>  Heartbeat support
>  pull consumption
>  Consumption of multiple topics in a single group
>  Authentication
>  Precisely specify offset partition consumption
> 6. Producer
>  User interface
>  Simultaneous production
>  Asynchronous production
>  Load balancing algorithm: polling
>  Load balancing algorithm: hash
> 7. Advanced features
>  Master disconnects and reconnects, traversing dns to obtain Master host IP
>  Limiting
>  Effectively-Once
>  tls:asio+openssl
>  Filter consumption
>  Inactive for more than the specified minutes, mainly at the production end, 
> for example 3 minutes
>  Fuse: Automatically shield the dead spots, detect the dead spots through the 
> algorithm, automatically shield the fault Broker's data transmission
>  Reporting time-consuming, failure; static weight (number of partitions), 
> dynamic weight
>  Connection pool management-automatic recovery of idle connections, shared 
> according to sessionFactory
>  Push consumptio
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-06-22 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli updated TUBEMQ-3:
--
Description: 
I will contribute the SDK of C + +, which is currently being sorted out. 
Without changing the server-side interaction protocol, the semantics will be 
the same as the Java implementation.

   !TubeMQCpp.png!

Task
 1.io thread management
 2. Connection interface
 3. Connection pool management
 4.IO Buffer
 5.Futrue/Promise support
 6.Codec interface and TubeMQ interactive encoding
 7. Functionalization of service interface parameter settings
 8.Futrue service interface
 9.Master implementation, metadata acquisition and reading interface
 10. Consumer realization
 11. Producer Realization
 12.Client configuration
 13. Producer API package
 14. Consumer API package

Plan
 Phase 1 (Available)-Implement basic functions and ensure unit test coverage
 RPC support
 Message consumption (pull mode)
 Write message (synchronous)
 Connection pool implementation-automatic reconnection of broken links, 
automatic recovery of idle connections, shared according to sessionFactory
 Test case and specification construction-

Phase 2 (Practical)-Realize the features of each function and be able to adapt 
to a certain level of pressure measurement
 Asynchronous production 
 Authentication and authentication && Prevent production and consumption around 
the master 
 Accurately specify offset partition consumption 
 Frequency control
 Consumption of multiple topics in a single group 
 Server filter consumption 

Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
realizing the latest function points according to priority
 Inactive for more than specified minutes, mainly at the production end, such 
as 3 minutes 
 Automatically shield the dead pixels, detect the dead pixels through the 
algorithm, and automatically shield the fault Broker's data transmission 
 TLS 
 push consumption

 

Featrue
 1.rpc development
 Pre-research--asio development
 Connection interface
 Connection pool management-connection reuse, automatic reconnection of broken 
links, automatic recovery of idle connections, sharing according to 
sessionFactory
 Streaming request support-based on serialNo
 Futrue/Promise interface
 Codec interface
 Log
 Config
 Buffer

2. Service interface development
 API service interface, such as heartbeat package variable function
 Request Futrue/Promise function encapsulation
 Config: client, consumer, producer, Master, rpc
 Message id

3.Client
 turn stop
 Configuration input
 Consumer API
 Producer API

4.Master
 Authentication
 Prevent the production and consumption around the Master: get the token from 
the Master and update it to the local metadata
 Metadata management: Topic, Group, Master
 Master Heartbeat

5. Consumer
 User interface
 Heartbeat support
 pull consumption
 Consumption of multiple topics in a single group
 Authentication
 Precisely specify offset partition consumption

6. Producer
 User interface
 Simultaneous production
 Asynchronous production
 Load balancing algorithm: polling
 Load balancing algorithm: hash

7. Advanced features
 Master disconnects and reconnects, traversing dns to obtain Master host IP
 Limiting
 Effectively-Once
 tls:asio+openssl
 Filter consumption
 Inactive for more than the specified minutes, mainly at the production end, 
for example 3 minutes
 Fuse: Automatically shield the dead spots, detect the dead spots through the 
algorithm, automatically shield the fault Broker's data transmission
 Reporting time-consuming, failure; static weight (number of partitions), 
dynamic weight
 Connection pool management-automatic recovery of idle connections, shared 
according to sessionFactory
 Push consumptio

 

 

  was:
I will contribute the SDK of C + +, which is currently being sorted out. 
Without changing the server-side interaction protocol, the semantics will be 
the same as the Java implementation.

  !企业微信截图_15927950018183.png!

Task
 1.io thread management
 2. Connection interface
 3. Connection pool management
 4.IO Buffer
 5.Futrue/Promise support
 6.Codec interface and TubeMQ interactive encoding
 7. Functionalization of service interface parameter settings
 8.Futrue service interface
 9.Master implementation, metadata acquisition and reading interface
 10. Consumer realization
 11. Producer Realization
 12.Client configuration
 13. Producer API package
 14. Consumer API package

Plan
 Phase 1 (Available)-Implement basic functions and ensure unit test coverage
 RPC support
 Message consumption (pull mode)
 Write message (synchronous)
 Connection pool implementation-automatic reconnection of broken links, 
automatic recovery of idle connections, shared according to sessionFactory
 Test case and specification construction-

Phase 2 (Practical)-Realize the features of each function and be able to adapt 
to a certain level of pressure measurement
 Asynchronous 

[jira] [Updated] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-06-22 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli updated TUBEMQ-3:
--
Attachment: (was: 企业微信截图_15927950018183.png)

> C++ SDK support in TubeMQ
> -
>
> Key: TUBEMQ-3
> URL: https://issues.apache.org/jira/browse/TUBEMQ-3
> Project: Apache TubeMQ
>  Issue Type: New Feature
>Reporter: zhangguocheng
>Assignee: charleli
>Priority: Normal
> Attachments: TubeMQCpp.png
>
>
> I will contribute the SDK of C + +, which is currently being sorted out. 
> Without changing the server-side interaction protocol, the semantics will be 
> the same as the Java implementation.
>    !TubeMQCpp.png!
> Task
>  1.io thread management
>  2. Connection interface
>  3. Connection pool management
>  4.IO Buffer
>  5.Futrue/Promise support
>  6.Codec interface and TubeMQ interactive encoding
>  7. Functionalization of service interface parameter settings
>  8.Futrue service interface
>  9.Master implementation, metadata acquisition and reading interface
>  10. Consumer realization
>  11. Producer Realization
>  12.Client configuration
>  13. Producer API package
>  14. Consumer API package
> Plan
>  Phase 1 (Available)-Implement basic functions and ensure unit test coverage
>  RPC support
>  Message consumption (pull mode)
>  Write message (synchronous)
>  Connection pool implementation-automatic reconnection of broken links, 
> automatic recovery of idle connections, shared according to sessionFactory
>  Test case and specification construction-
> Phase 2 (Practical)-Realize the features of each function and be able to 
> adapt to a certain level of pressure measurement
>  Asynchronous production 
>  Authentication and authentication && Prevent production and consumption 
> around the master 
>  Accurately specify offset partition consumption 
>  Frequency control
>  Consumption of multiple topics in a single group 
>  Server filter consumption 
> Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
> realizing the latest function points according to priority
>  Inactive for more than specified minutes, mainly at the production end, such 
> as 3 minutes 
>  Automatically shield the dead pixels, detect the dead pixels through the 
> algorithm, and automatically shield the fault Broker's data transmission 
>  TLS 
>  push consumption
>  
> Featrue
>  1.rpc development
>  Pre-research--asio development
>  Connection interface
>  Connection pool management-connection reuse, automatic reconnection of 
> broken links, automatic recovery of idle connections, sharing according to 
> sessionFactory
>  Streaming request support-based on serialNo
>  Futrue/Promise interface
>  Codec interface
>  Log
>  Config
>  Buffer
> 2. Service interface development
>  API service interface, such as heartbeat package variable function
>  Request Futrue/Promise function encapsulation
>  Config: client, consumer, producer, Master, rpc
>  Message id
> 3.Client
>  turn stop
>  Configuration input
>  Consumer API
>  Producer API
> 4.Master
>  Authentication
>  Prevent the production and consumption around the Master: get the token from 
> the Master and update it to the local metadata
>  Metadata management: Topic, Group, Master
>  Master Heartbeat
> 5. Consumer
>  User interface
>  Heartbeat support
>  pull consumption
>  Consumption of multiple topics in a single group
>  Authentication
>  Precisely specify offset partition consumption
> 6. Producer
>  User interface
>  Simultaneous production
>  Asynchronous production
>  Load balancing algorithm: polling
>  Load balancing algorithm: hash
> 7. Advanced features
>  Master disconnects and reconnects, traversing dns to obtain Master host IP
>  Limiting
>  Effectively-Once
>  tls:asio+openssl
>  Filter consumption
>  Inactive for more than the specified minutes, mainly at the production end, 
> for example 3 minutes
>  Fuse: Automatically shield the dead spots, detect the dead spots through the 
> algorithm, automatically shield the fault Broker's data transmission
>  Reporting time-consuming, failure; static weight (number of partitions), 
> dynamic weight
>  Connection pool management-automatic recovery of idle connections, shared 
> according to sessionFactory
>  Push consumptio
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-06-22 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli updated TUBEMQ-3:
--
Attachment: TubeMQCpp.png

> C++ SDK support in TubeMQ
> -
>
> Key: TUBEMQ-3
> URL: https://issues.apache.org/jira/browse/TUBEMQ-3
> Project: Apache TubeMQ
>  Issue Type: New Feature
>Reporter: zhangguocheng
>Assignee: charleli
>Priority: Normal
> Attachments: TubeMQCpp.png
>
>
> I will contribute the SDK of C + +, which is currently being sorted out. 
> Without changing the server-side interaction protocol, the semantics will be 
> the same as the Java implementation.
>   !企业微信截图_15927950018183.png!
> Task
>  1.io thread management
>  2. Connection interface
>  3. Connection pool management
>  4.IO Buffer
>  5.Futrue/Promise support
>  6.Codec interface and TubeMQ interactive encoding
>  7. Functionalization of service interface parameter settings
>  8.Futrue service interface
>  9.Master implementation, metadata acquisition and reading interface
>  10. Consumer realization
>  11. Producer Realization
>  12.Client configuration
>  13. Producer API package
>  14. Consumer API package
> Plan
>  Phase 1 (Available)-Implement basic functions and ensure unit test coverage
>  RPC support
>  Message consumption (pull mode)
>  Write message (synchronous)
>  Connection pool implementation-automatic reconnection of broken links, 
> automatic recovery of idle connections, shared according to sessionFactory
>  Test case and specification construction-
> Phase 2 (Practical)-Realize the features of each function and be able to 
> adapt to a certain level of pressure measurement
>  Asynchronous production 
>  Authentication and authentication && Prevent production and consumption 
> around the master 
>  Accurately specify offset partition consumption 
>  Frequency control
>  Consumption of multiple topics in a single group 
>  Server filter consumption 
> Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
> realizing the latest function points according to priority
>  Inactive for more than specified minutes, mainly at the production end, such 
> as 3 minutes 
>  Automatically shield the dead pixels, detect the dead pixels through the 
> algorithm, and automatically shield the fault Broker's data transmission 
>  TLS 
>  push consumption
>  
> Featrue
>  1.rpc development
>  Pre-research--asio development
>  Connection interface
>  Connection pool management-connection reuse, automatic reconnection of 
> broken links, automatic recovery of idle connections, sharing according to 
> sessionFactory
>  Streaming request support-based on serialNo
>  Futrue/Promise interface
>  Codec interface
>  Log
>  Config
>  Buffer
> 2. Service interface development
>  API service interface, such as heartbeat package variable function
>  Request Futrue/Promise function encapsulation
>  Config: client, consumer, producer, Master, rpc
>  Message id
> 3.Client
>  turn stop
>  Configuration input
>  Consumer API
>  Producer API
> 4.Master
>  Authentication
>  Prevent the production and consumption around the Master: get the token from 
> the Master and update it to the local metadata
>  Metadata management: Topic, Group, Master
>  Master Heartbeat
> 5. Consumer
>  User interface
>  Heartbeat support
>  pull consumption
>  Consumption of multiple topics in a single group
>  Authentication
>  Precisely specify offset partition consumption
> 6. Producer
>  User interface
>  Simultaneous production
>  Asynchronous production
>  Load balancing algorithm: polling
>  Load balancing algorithm: hash
> 7. Advanced features
>  Master disconnects and reconnects, traversing dns to obtain Master host IP
>  Limiting
>  Effectively-Once
>  tls:asio+openssl
>  Filter consumption
>  Inactive for more than the specified minutes, mainly at the production end, 
> for example 3 minutes
>  Fuse: Automatically shield the dead spots, detect the dead spots through the 
> algorithm, automatically shield the fault Broker's data transmission
>  Reporting time-consuming, failure; static weight (number of partitions), 
> dynamic weight
>  Connection pool management-automatic recovery of idle connections, shared 
> according to sessionFactory
>  Push consumption
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-06-22 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli updated TUBEMQ-3:
--
Attachment: 企业微信截图_15927950018183.png

> C++ SDK support in TubeMQ
> -
>
> Key: TUBEMQ-3
> URL: https://issues.apache.org/jira/browse/TUBEMQ-3
> Project: Apache TubeMQ
>  Issue Type: New Feature
>Reporter: zhangguocheng
>Assignee: charleli
>Priority: Normal
> Attachments: 企业微信截图_15927950018183.png
>
>
> I will contribute the SDK of C + +, which is currently being sorted out. 
> Without changing the server-side interaction protocol, the semantics will be 
> the same as the Java implementation.
>  
> Task
>  1.io thread management
>  2. Connection interface
>  3. Connection pool management
>  4.IO Buffer
>  5.Futrue/Promise support
>  6.Codec interface and TubeMQ interactive encoding
>  7. Functionalization of service interface parameter settings
>  8.Futrue service interface
>  9.Master implementation, metadata acquisition and reading interface
>  10. Consumer realization
>  11. Producer Realization
>  12.Client configuration
>  13. Producer API package
>  14. Consumer API package
> Plan
>  Phase 1 (Available)-Implement basic functions and ensure unit test coverage
>  RPC support
>  Message consumption (pull mode)
>  Write message (synchronous)
>  Connection pool implementation-automatic reconnection of broken links, 
> automatic recovery of idle connections, shared according to sessionFactory
>  Test case and specification construction-
> Phase 2 (Practical)-Realize the features of each function and be able to 
> adapt to a certain level of pressure measurement
>  Asynchronous production 
>  Authentication and authentication && Prevent production and consumption 
> around the master 
>  Accurately specify offset partition consumption 
>  Frequency control
>  Consumption of multiple topics in a single group 
>  Server filter consumption 
> Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
> realizing the latest function points according to priority
>  Inactive for more than specified minutes, mainly at the production end, such 
> as 3 minutes 
>  Automatically shield the dead pixels, detect the dead pixels through the 
> algorithm, and automatically shield the fault Broker's data transmission 
>  TLS 
>  push consumption
>  
> Featrue
>  1.rpc development
>  Pre-research--asio development
>  Connection interface
>  Connection pool management-connection reuse, automatic reconnection of 
> broken links, automatic recovery of idle connections, sharing according to 
> sessionFactory
>  Streaming request support-based on serialNo
>  Futrue/Promise interface
>  Codec interface
>  Log
>  Config
>  Buffer
> 2. Service interface development
>  API service interface, such as heartbeat package variable function
>  Request Futrue/Promise function encapsulation
>  Config: client, consumer, producer, Master, rpc
>  Message id
> 3.Client
>  turn stop
>  Configuration input
>  Consumer API
>  Producer API
> 4.Master
>  Authentication
>  Prevent the production and consumption around the Master: get the token from 
> the Master and update it to the local metadata
>  Metadata management: Topic, Group, Master
>  Master Heartbeat
> 5. Consumer
>  User interface
>  Heartbeat support
>  pull consumption
>  Consumption of multiple topics in a single group
>  Authentication
>  Precisely specify offset partition consumption
> 6. Producer
>  User interface
>  Simultaneous production
>  Asynchronous production
>  Load balancing algorithm: polling
>  Load balancing algorithm: hash
> 7. Advanced features
>  Master disconnects and reconnects, traversing dns to obtain Master host IP
>  Limiting
>  Effectively-Once
>  tls:asio+openssl
>  Filter consumption
>  Inactive for more than the specified minutes, mainly at the production end, 
> for example 3 minutes
>  Fuse: Automatically shield the dead spots, detect the dead spots through the 
> algorithm, automatically shield the fault Broker's data transmission
>  Reporting time-consuming, failure; static weight (number of partitions), 
> dynamic weight
>  Connection pool management-automatic recovery of idle connections, shared 
> according to sessionFactory
>  Push consumption
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-06-22 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli updated TUBEMQ-3:
--
Description: 
I will contribute the SDK of C + +, which is currently being sorted out. 
Without changing the server-side interaction protocol, the semantics will be 
the same as the Java implementation.

  !企业微信截图_15927950018183.png!

Task
 1.io thread management
 2. Connection interface
 3. Connection pool management
 4.IO Buffer
 5.Futrue/Promise support
 6.Codec interface and TubeMQ interactive encoding
 7. Functionalization of service interface parameter settings
 8.Futrue service interface
 9.Master implementation, metadata acquisition and reading interface
 10. Consumer realization
 11. Producer Realization
 12.Client configuration
 13. Producer API package
 14. Consumer API package

Plan
 Phase 1 (Available)-Implement basic functions and ensure unit test coverage
 RPC support
 Message consumption (pull mode)
 Write message (synchronous)
 Connection pool implementation-automatic reconnection of broken links, 
automatic recovery of idle connections, shared according to sessionFactory
 Test case and specification construction-

Phase 2 (Practical)-Realize the features of each function and be able to adapt 
to a certain level of pressure measurement
 Asynchronous production 
 Authentication and authentication && Prevent production and consumption around 
the master 
 Accurately specify offset partition consumption 
 Frequency control
 Consumption of multiple topics in a single group 
 Server filter consumption 

Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
realizing the latest function points according to priority
 Inactive for more than specified minutes, mainly at the production end, such 
as 3 minutes 
 Automatically shield the dead pixels, detect the dead pixels through the 
algorithm, and automatically shield the fault Broker's data transmission 
 TLS 
 push consumption

 

Featrue
 1.rpc development
 Pre-research--asio development
 Connection interface
 Connection pool management-connection reuse, automatic reconnection of broken 
links, automatic recovery of idle connections, sharing according to 
sessionFactory
 Streaming request support-based on serialNo
 Futrue/Promise interface
 Codec interface
 Log
 Config
 Buffer

2. Service interface development
 API service interface, such as heartbeat package variable function
 Request Futrue/Promise function encapsulation
 Config: client, consumer, producer, Master, rpc
 Message id

3.Client
 turn stop
 Configuration input
 Consumer API
 Producer API

4.Master
 Authentication
 Prevent the production and consumption around the Master: get the token from 
the Master and update it to the local metadata
 Metadata management: Topic, Group, Master
 Master Heartbeat

5. Consumer
 User interface
 Heartbeat support
 pull consumption
 Consumption of multiple topics in a single group
 Authentication
 Precisely specify offset partition consumption

6. Producer
 User interface
 Simultaneous production
 Asynchronous production
 Load balancing algorithm: polling
 Load balancing algorithm: hash

7. Advanced features
 Master disconnects and reconnects, traversing dns to obtain Master host IP
 Limiting
 Effectively-Once
 tls:asio+openssl
 Filter consumption
 Inactive for more than the specified minutes, mainly at the production end, 
for example 3 minutes
 Fuse: Automatically shield the dead spots, detect the dead spots through the 
algorithm, automatically shield the fault Broker's data transmission
 Reporting time-consuming, failure; static weight (number of partitions), 
dynamic weight
 Connection pool management-automatic recovery of idle connections, shared 
according to sessionFactory
 Push consumption

 

 

  was:
I will contribute the SDK of C + +, which is currently being sorted out. 
Without changing the server-side interaction protocol, the semantics will be 
the same as the Java implementation.

 

Task
 1.io thread management
 2. Connection interface
 3. Connection pool management
 4.IO Buffer
 5.Futrue/Promise support
 6.Codec interface and TubeMQ interactive encoding
 7. Functionalization of service interface parameter settings
 8.Futrue service interface
 9.Master implementation, metadata acquisition and reading interface
 10. Consumer realization
 11. Producer Realization
 12.Client configuration
 13. Producer API package
 14. Consumer API package

Plan
 Phase 1 (Available)-Implement basic functions and ensure unit test coverage
 RPC support
 Message consumption (pull mode)
 Write message (synchronous)
 Connection pool implementation-automatic reconnection of broken links, 
automatic recovery of idle connections, shared according to sessionFactory
 Test case and specification construction-

Phase 2 (Practical)-Realize the features of each function and be able to adapt 
to a certain level of pressure measurement
 Asynchronous production 
 

[jira] [Updated] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-06-22 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli updated TUBEMQ-3:
--
Description: 
I will contribute the SDK of C + +, which is currently being sorted out. 
Without changing the server-side interaction protocol, the semantics will be 
the same as the Java implementation.

 

Task
 1.io thread management
 2. Connection interface
 3. Connection pool management
 4.IO Buffer
 5.Futrue/Promise support
 6.Codec interface and TubeMQ interactive encoding
 7. Functionalization of service interface parameter settings
 8.Futrue service interface
 9.Master implementation, metadata acquisition and reading interface
 10. Consumer realization
 11. Producer Realization
 12.Client configuration
 13. Producer API package
 14. Consumer API package

Plan
 Phase 1 (Available)-Implement basic functions and ensure unit test coverage
 RPC support
 Message consumption (pull mode)
 Write message (synchronous)
 Connection pool implementation-automatic reconnection of broken links, 
automatic recovery of idle connections, shared according to sessionFactory
 Test case and specification construction-

Phase 2 (Practical)-Realize the features of each function and be able to adapt 
to a certain level of pressure measurement
 Asynchronous production 
 Authentication and authentication && Prevent production and consumption around 
the master 
 Accurately specify offset partition consumption 
 Frequency control
 Consumption of multiple topics in a single group 
 Server filter consumption 

Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
realizing the latest function points according to priority
 Inactive for more than specified minutes, mainly at the production end, such 
as 3 minutes 
 Automatically shield the dead pixels, detect the dead pixels through the 
algorithm, and automatically shield the fault Broker's data transmission 
 TLS 
 push consumption

 

Featrue
 1.rpc development
 Pre-research--asio development
 Connection interface
 Connection pool management-connection reuse, automatic reconnection of broken 
links, automatic recovery of idle connections, sharing according to 
sessionFactory
 Streaming request support-based on serialNo
 Futrue/Promise interface
 Codec interface
 Log
 Config
 Buffer

2. Service interface development
 API service interface, such as heartbeat package variable function
 Request Futrue/Promise function encapsulation
 Config: client, consumer, producer, Master, rpc
 Message id

3.Client
 turn stop
 Configuration input
 Consumer API
 Producer API

4.Master
 Authentication
 Prevent the production and consumption around the Master: get the token from 
the Master and update it to the local metadata
 Metadata management: Topic, Group, Master
 Master Heartbeat

5. Consumer
 User interface
 Heartbeat support
 pull consumption
 Consumption of multiple topics in a single group
 Authentication
 Precisely specify offset partition consumption

6. Producer
 User interface
 Simultaneous production
 Asynchronous production
 Load balancing algorithm: polling
 Load balancing algorithm: hash

7. Advanced features
 Master disconnects and reconnects, traversing dns to obtain Master host IP
 Limiting
 Effectively-Once
 tls:asio+openssl
 Filter consumption
 Inactive for more than the specified minutes, mainly at the production end, 
for example 3 minutes
 Fuse: Automatically shield the dead spots, detect the dead spots through the 
algorithm, automatically shield the fault Broker's data transmission
 Reporting time-consuming, failure; static weight (number of partitions), 
dynamic weight
 Connection pool management-automatic recovery of idle connections, shared 
according to sessionFactory
 Push consumption

 

 

  was:
I will contribute the SDK of C + +, which is currently being sorted out. 
Without changing the server-side interaction protocol, the semantics will be 
the same as the Java implementation.

  

Task
 1.io thread management
 2. Connection interface
 3. Connection pool management
 4.IO Buffer
 5.Futrue/Promise support
 6.Codec interface and TubeMQ interactive encoding
 7. Functionalization of service interface parameter settings
 8.Futrue service interface
 9.Master implementation, metadata acquisition and reading interface
 10. Consumer realization
 11. Producer Realization
 12.Client configuration
 13. Producer API package
 14. Consumer API package

Plan
 Phase 1 (Available)-Implement basic functions and ensure unit test coverage
 RPC support
 Message consumption (pull mode)
 Write message (synchronous)
 Connection pool implementation-automatic reconnection of broken links, 
automatic recovery of idle connections, shared according to sessionFactory
 Test case and specification construction-

Phase 2 (Practical)-Realize the features of each function and be able to adapt 
to a certain level of pressure measurement
 Asynchronous production 
 Authentication and 

[jira] [Updated] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-06-22 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli updated TUBEMQ-3:
--
Description: 
I will contribute the SDK of C + +, which is currently being sorted out. 
Without changing the server-side interaction protocol, the semantics will be 
the same as the Java implementation.

  

Task
 1.io thread management
 2. Connection interface
 3. Connection pool management
 4.IO Buffer
 5.Futrue/Promise support
 6.Codec interface and TubeMQ interactive encoding
 7. Functionalization of service interface parameter settings
 8.Futrue service interface
 9.Master implementation, metadata acquisition and reading interface
 10. Consumer realization
 11. Producer Realization
 12.Client configuration
 13. Producer API package
 14. Consumer API package

Plan
 Phase 1 (Available)-Implement basic functions and ensure unit test coverage
 RPC support
 Message consumption (pull mode)
 Write message (synchronous)
 Connection pool implementation-automatic reconnection of broken links, 
automatic recovery of idle connections, shared according to sessionFactory
 Test case and specification construction-

Phase 2 (Practical)-Realize the features of each function and be able to adapt 
to a certain level of pressure measurement
 Asynchronous production 
 Authentication and authentication && Prevent production and consumption around 
the master 
 Accurately specify offset partition consumption 
 Frequency control
 Consumption of multiple topics in a single group 
 Server filter consumption 

Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
realizing the latest function points according to priority
 Inactive for more than specified minutes, mainly at the production end, such 
as 3 minutes 
 Automatically shield the dead pixels, detect the dead pixels through the 
algorithm, and automatically shield the fault Broker's data transmission 
 TLS 
 push consumption

 

Featrue
 1.rpc development
 Pre-research--asio development
 Connection interface
 Connection pool management-connection reuse, automatic reconnection of broken 
links, automatic recovery of idle connections, sharing according to 
sessionFactory
 Streaming request support-based on serialNo
 Futrue/Promise interface
 Codec interface
 Log
 Config
 Buffer

2. Service interface development
 API service interface, such as heartbeat package variable function
 Request Futrue/Promise function encapsulation
 Config: client, consumer, producer, Master, rpc
 Message id

3.Client
 turn stop
 Configuration input
 Consumer API
 Producer API

4.Master
 Authentication
 Prevent the production and consumption around the Master: get the token from 
the Master and update it to the local metadata
 Metadata management: Topic, Group, Master
 Master Heartbeat

5. Consumer
 User interface
 Heartbeat support
 pull consumption
 Consumption of multiple topics in a single group
 Authentication
 Precisely specify offset partition consumption

6. Producer
 User interface
 Simultaneous production
 Asynchronous production
 Load balancing algorithm: polling
 Load balancing algorithm: hash

7. Advanced features
 Master disconnects and reconnects, traversing dns to obtain Master host IP
 Limiting
 Effectively-Once
 tls:asio+openssl
 Filter consumption
 Inactive for more than the specified minutes, mainly at the production end, 
for example 3 minutes
 Fuse: Automatically shield the dead spots, detect the dead spots through the 
algorithm, automatically shield the fault Broker's data transmission
 Reporting time-consuming, failure; static weight (number of partitions), 
dynamic weight
 Connection pool management-automatic recovery of idle connections, shared 
according to sessionFactory
 Push consumption

 

 

  was:
I will contribute the SDK of C + +, which is currently being sorted out. 
Without changing the server-side interaction protocol, the semantics will be 
the same as the Java implementation.

  
!file:///C:/Users/charleli/Documents/WXWork/1688851418270443/Cache/Image/2020-06/%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_15927950018183.png!

Task
 1.io thread management
 2. Connection interface
 3. Connection pool management
 4.IO Buffer
 5.Futrue/Promise support
 6.Codec interface and TubeMQ interactive encoding
 7. Functionalization of service interface parameter settings
 8.Futrue service interface
 9.Master implementation, metadata acquisition and reading interface
 10. Consumer realization
 11. Producer Realization
 12.Client configuration
 13. Producer API package
 14. Consumer API package

Plan
 Phase 1 (Available)-Implement basic functions and ensure unit test coverage
 RPC support
 Message consumption (pull mode)
 Write message (synchronous)
 Connection pool implementation-automatic reconnection of broken links, 
automatic recovery of idle connections, shared according to sessionFactory
 Test case and specification construction-

Phase 2 

[jira] [Updated] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-06-22 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli updated TUBEMQ-3:
--
Description: 
I will contribute the SDK of C + +, which is currently being sorted out. 
Without changing the server-side interaction protocol, the semantics will be 
the same as the Java implementation.

 

Task
1.io thread management
2. Connection interface
3. Connection pool management
4.IO Buffer
5.Futrue/Promise support
6.Codec interface and TubeMQ interactive encoding
7. Functionalization of service interface parameter settings
8.Futrue service interface
9.Master implementation, metadata acquisition and reading interface
10. Consumer realization
11. Producer Realization
12.Client configuration
13. Producer API package
14. Consumer API package

Plan
Phase 1 (Available)-Implement basic functions and ensure unit test coverage
RPC support
Message consumption (pull mode)
Write message (synchronous)
Connection pool implementation-automatic reconnection of broken links, 
automatic recovery of idle connections, shared according to sessionFactory
Test case and specification construction-



Phase 2 (Practical)-Realize the features of each function and be able to adapt 
to a certain level of pressure measurement
Asynchronous production 
Authentication and authentication && Prevent production and consumption around 
the master 
Accurately specify offset partition consumption 
Frequency control
Consumption of multiple topics in a single group 
Server filter consumption 



Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
realizing the latest function points according to priority
Inactive for more than specified minutes, mainly at the production end, such as 
3 minutes 
Automatically shield the dead pixels, detect the dead pixels through the 
algorithm, and automatically shield the fault Broker's data transmission 
TLS 
push consumption

 

Featrue
1.rpc development
Pre-research--asio development
Connection interface
Connection pool management-connection reuse, automatic reconnection of broken 
links, automatic recovery of idle connections, sharing according to 
sessionFactory
Streaming request support-based on serialNo
Futrue/Promise interface
Codec interface
Log
Config
Buffer

2. Service interface development
API service interface, such as heartbeat package variable function
Request Futrue/Promise function encapsulation
Config: client, consumer, producer, Master, rpc
Message id

3.Client
turn stop
Configuration input
Consumer API
Producer API

4.Master
Authentication
Prevent the production and consumption around the Master: get the token from 
the Master and update it to the local metadata
Metadata management: Topic, Group, Master
Master Heartbeat

5. Consumer
User interface
Heartbeat support
pull consumption
Consumption of multiple topics in a single group
Authentication
Precisely specify offset partition consumption

6. Producer
User interface
Simultaneous production
Asynchronous production
Load balancing algorithm: polling
Load balancing algorithm: hash

7. Advanced features
Master disconnects and reconnects, traversing dns to obtain Master host IP
Limiting
Effectively-Once
tls:asio+openssl
Filter consumption
Inactive for more than the specified minutes, mainly at the production end, for 
example 3 minutes
Fuse: Automatically shield the dead spots, detect the dead spots through the 
algorithm, automatically shield the fault Broker's data transmission
Reporting time-consuming, failure; static weight (number of partitions), 
dynamic weight
Connection pool management-automatic recovery of idle connections, shared 
according to sessionFactory
Push consumption

 

 

  was:
I will contribute the SDK of C + +, which is currently being sorted out. 
Without changing the server-side interaction protocol, the semantics will be 
the same as the Java implementation.

 

 


> C++ SDK support in TubeMQ
> -
>
> Key: TUBEMQ-3
> URL: https://issues.apache.org/jira/browse/TUBEMQ-3
> Project: Apache TubeMQ
>  Issue Type: New Feature
>Reporter: zhangguocheng
>Assignee: charleli
>Priority: Normal
>
> I will contribute the SDK of C + +, which is currently being sorted out. 
> Without changing the server-side interaction protocol, the semantics will be 
> the same as the Java implementation.
>  
> Task
> 1.io thread management
> 2. Connection interface
> 3. Connection pool management
> 4.IO Buffer
> 5.Futrue/Promise support
> 6.Codec interface and TubeMQ interactive encoding
> 7. Functionalization of service interface parameter settings
> 8.Futrue service interface
> 9.Master implementation, metadata acquisition and reading interface
> 10. Consumer realization
> 11. Producer Realization
> 12.Client configuration
> 13. Producer API package
> 14. Consumer API package
> Plan
> Phase 1 (Available)-Implement basic 

[jira] [Updated] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-06-22 Thread charleli (Jira)


 [ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

charleli updated TUBEMQ-3:
--
Description: 
I will contribute the SDK of C + +, which is currently being sorted out. 
Without changing the server-side interaction protocol, the semantics will be 
the same as the Java implementation.

  
!file:///C:/Users/charleli/Documents/WXWork/1688851418270443/Cache/Image/2020-06/%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_15927950018183.png!

Task
 1.io thread management
 2. Connection interface
 3. Connection pool management
 4.IO Buffer
 5.Futrue/Promise support
 6.Codec interface and TubeMQ interactive encoding
 7. Functionalization of service interface parameter settings
 8.Futrue service interface
 9.Master implementation, metadata acquisition and reading interface
 10. Consumer realization
 11. Producer Realization
 12.Client configuration
 13. Producer API package
 14. Consumer API package

Plan
 Phase 1 (Available)-Implement basic functions and ensure unit test coverage
 RPC support
 Message consumption (pull mode)
 Write message (synchronous)
 Connection pool implementation-automatic reconnection of broken links, 
automatic recovery of idle connections, shared according to sessionFactory
 Test case and specification construction-

Phase 2 (Practical)-Realize the features of each function and be able to adapt 
to a certain level of pressure measurement
 Asynchronous production 
 Authentication and authentication && Prevent production and consumption around 
the master 
 Accurately specify offset partition consumption 
 Frequency control
 Consumption of multiple topics in a single group 
 Server filter consumption 

Phase 3 (Easy to use)-Continuous iteration, full-featured implementation, 
realizing the latest function points according to priority
 Inactive for more than specified minutes, mainly at the production end, such 
as 3 minutes 
 Automatically shield the dead pixels, detect the dead pixels through the 
algorithm, and automatically shield the fault Broker's data transmission 
 TLS 
 push consumption

 

Featrue
 1.rpc development
 Pre-research--asio development
 Connection interface
 Connection pool management-connection reuse, automatic reconnection of broken 
links, automatic recovery of idle connections, sharing according to 
sessionFactory
 Streaming request support-based on serialNo
 Futrue/Promise interface
 Codec interface
 Log
 Config
 Buffer

2. Service interface development
 API service interface, such as heartbeat package variable function
 Request Futrue/Promise function encapsulation
 Config: client, consumer, producer, Master, rpc
 Message id

3.Client
 turn stop
 Configuration input
 Consumer API
 Producer API

4.Master
 Authentication
 Prevent the production and consumption around the Master: get the token from 
the Master and update it to the local metadata
 Metadata management: Topic, Group, Master
 Master Heartbeat

5. Consumer
 User interface
 Heartbeat support
 pull consumption
 Consumption of multiple topics in a single group
 Authentication
 Precisely specify offset partition consumption

6. Producer
 User interface
 Simultaneous production
 Asynchronous production
 Load balancing algorithm: polling
 Load balancing algorithm: hash

7. Advanced features
 Master disconnects and reconnects, traversing dns to obtain Master host IP
 Limiting
 Effectively-Once
 tls:asio+openssl
 Filter consumption
 Inactive for more than the specified minutes, mainly at the production end, 
for example 3 minutes
 Fuse: Automatically shield the dead spots, detect the dead spots through the 
algorithm, automatically shield the fault Broker's data transmission
 Reporting time-consuming, failure; static weight (number of partitions), 
dynamic weight
 Connection pool management-automatic recovery of idle connections, shared 
according to sessionFactory
 Push consumption

 

 

  was:
I will contribute the SDK of C + +, which is currently being sorted out. 
Without changing the server-side interaction protocol, the semantics will be 
the same as the Java implementation.

 

Task
1.io thread management
2. Connection interface
3. Connection pool management
4.IO Buffer
5.Futrue/Promise support
6.Codec interface and TubeMQ interactive encoding
7. Functionalization of service interface parameter settings
8.Futrue service interface
9.Master implementation, metadata acquisition and reading interface
10. Consumer realization
11. Producer Realization
12.Client configuration
13. Producer API package
14. Consumer API package

Plan
Phase 1 (Available)-Implement basic functions and ensure unit test coverage
RPC support
Message consumption (pull mode)
Write message (synchronous)
Connection pool implementation-automatic reconnection of broken links, 
automatic recovery of idle connections, shared according to sessionFactory
Test case and specification construction-



Phase 2 (Practical)-Realize the features 

[jira] [Comment Edited] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-05-29 Thread charleli (Jira)


[ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17119590#comment-17119590
 ] 

charleli edited comment on TUBEMQ-3 at 5/29/20, 1:17 PM:
-

:D


was (Author: charleli):
I will

> C++ SDK support in TubeMQ
> -
>
> Key: TUBEMQ-3
> URL: https://issues.apache.org/jira/browse/TUBEMQ-3
> Project: Apache TubeMQ
>  Issue Type: New Feature
>Reporter: zhangguocheng
>Priority: Normal
>
> I will contribute the SDK of C + +, which is currently being sorted out. 
> Without changing the server-side interaction protocol, the semantics will be 
> the same as the Java implementation.
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (TUBEMQ-3) C++ SDK support in TubeMQ

2020-05-29 Thread charleli (Jira)


[ 
https://issues.apache.org/jira/browse/TUBEMQ-3?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17119590#comment-17119590
 ] 

charleli commented on TUBEMQ-3:
---

I will

> C++ SDK support in TubeMQ
> -
>
> Key: TUBEMQ-3
> URL: https://issues.apache.org/jira/browse/TUBEMQ-3
> Project: Apache TubeMQ
>  Issue Type: New Feature
>Reporter: zhangguocheng
>Priority: Normal
>
> I will contribute the SDK of C + +, which is currently being sorted out. 
> Without changing the server-side interaction protocol, the semantics will be 
> the same as the Java implementation.
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)