Skip to content

Commit 1b01886

Browse files
author
Cheng Xin
committed
Merge branch 'dev_tcp_client_chengxin' into 'feature_tcp_client'
【ENH】优化代码,更好的兼容x64配置 See merge request server/openapi/openapi-cpp-sdk!24
2 parents ed35391 + 8acc714 commit 1b01886

File tree

4 files changed

+17
-18
lines changed

4 files changed

+17
-18
lines changed

include/tigerapi/push_socket/push_frame_serialize.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ namespace TIGER_API
1818
~PushFrameDecoder() = default;
1919

2020
bool push_byte(unsigned char value);
21-
uint64_t get_frame_size() const;
21+
uint32_t get_frame_size() const;
2222

2323
private:
24-
uint64_t decode_varint();
24+
uint32_t decode_varint();
2525
std::vector<unsigned char> frame_header_buffer_;
26-
uint64_t frame_len_ = 0;
26+
uint32_t frame_len_ = 0;
2727
};
2828

2929
}

include/tigerapi/push_socket/push_socket.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ namespace TIGER_API
4444
void connect();
4545
void disconnect();
4646
bool send_message(const std::string& msg);
47-
uint32_t get_next_id();
47+
unsigned int get_next_id();
4848
private:
4949
void init_socket();
5050
bool verify_certificate(bool preverified,
@@ -60,14 +60,14 @@ namespace TIGER_API
6060
void handle_handshake(const boost::system::error_code& error);
6161
void handle_write(const boost::system::error_code& error,
6262
size_t bytes_transferred,
63-
unsigned int frame_len);
63+
size_t frame_len);
6464
void handle_read_head(const boost::system::error_code& error,
6565
size_t bytes_transferred);
6666
void handle_read_body(const boost::system::error_code& error,
6767
size_t bytes_transferred,
6868
char* recv_buff,
6969
int page_num,
70-
unsigned int frame_len);
70+
size_t frame_len);
7171
void handle_timer(const boost::system::error_code& error);
7272

7373
void read_head();
@@ -92,7 +92,7 @@ namespace TIGER_API
9292
std::shared_ptr<boost::asio::deadline_timer> reconnect_timer_;
9393
std::atomic<SocketState> socket_state_ = SocketState::DISCONNECTED;
9494

95-
std::atomic<uint32_t> id_counter_ = 0;
95+
std::atomic<unsigned int> id_counter_ = 0;
9696

9797
char head_buff_[1024];
9898
boost::shared_ptr<boost::pool<>> recv_buff_pool_;

src/push_socket/push_frame_serialize.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#include "tigerapi/push_socket/push_frame_serialize.h"
2-
#include <boost/endian/conversion.hpp>
32

43
std::vector<unsigned char> TIGER_API::PushFrameEncoder::encode_frame(const std::string& packed_frame)
54
{
@@ -16,20 +15,20 @@ std::vector<unsigned char> TIGER_API::PushFrameEncoder::encode_frame(const std::
1615
while (pack_size)
1716
{
1817
unsigned char header_byte = 0x80 | bits;
19-
pack_array.push_back(/*boost::endian::native_to_big(header_byte)*/header_byte);
18+
pack_array.push_back(header_byte);
2019
bits = pack_size & 0x7F;
2120
pack_size >>= 7;
2221
}
2322

24-
pack_array.push_back(/*boost::endian::native_to_big(bits)*/bits);
23+
pack_array.push_back(bits);
2524
pack_array.insert(pack_array.end(), packed_frame.begin(), packed_frame.end());
2625
return pack_array;
2726
}
2827

2928
bool TIGER_API::PushFrameDecoder::push_byte(unsigned char value)
3029
{
31-
//逐个字节压入缓冲区(使用大端序列)
32-
frame_header_buffer_.push_back(/*boost::endian::native_to_big(value)*/value);
30+
//逐个字节压入缓冲区
31+
frame_header_buffer_.push_back(value);
3332
if (!(value & 0x80))
3433
{
3534
//完整读取到包长度
@@ -42,12 +41,12 @@ bool TIGER_API::PushFrameDecoder::push_byte(unsigned char value)
4241
return false;
4342
}
4443

45-
uint64_t TIGER_API::PushFrameDecoder::get_frame_size() const
44+
uint32_t TIGER_API::PushFrameDecoder::get_frame_size() const
4645
{
4746
return frame_len_;
4847
}
4948

50-
uint64_t TIGER_API::PushFrameDecoder::decode_varint()
49+
uint32_t TIGER_API::PushFrameDecoder::decode_varint()
5150
{
5251
const uint32_t mask = (1U << 32) - 1; // 32位掩码
5352
uint32_t result = 0;

src/push_socket/push_socket.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ bool TIGER_API::PushSocket::verify_certificate(bool preverified, boost::asio::ss
159159
return preverified;
160160
}
161161

162-
uint32_t TIGER_API::PushSocket::get_next_id()
162+
unsigned int TIGER_API::PushSocket::get_next_id()
163163
{
164164
return ++id_counter_;
165165
}
@@ -374,7 +374,7 @@ void TIGER_API::PushSocket::handle_handshake(const boost::system::error_code& er
374374

375375
void TIGER_API::PushSocket::handle_write(const boost::system::error_code& error,
376376
size_t bytes_transferred,
377-
unsigned int frame_len)
377+
size_t frame_len)
378378
{
379379
if (error || frame_len != bytes_transferred)
380380
{
@@ -422,7 +422,7 @@ void TIGER_API::PushSocket::handle_read_body(const boost::system::error_code& er
422422
size_t bytes_transferred,
423423
char* recv_buff,
424424
int page_num,
425-
unsigned int frame_len)
425+
size_t frame_len)
426426
{
427427
if (error || 0 == bytes_transferred || bytes_transferred != frame_len)
428428
{
@@ -508,7 +508,7 @@ void TIGER_API::PushSocket::read_head()
508508

509509
void TIGER_API::PushSocket::read_body(size_t frame_len)
510510
{
511-
unsigned int page_num = frame_len / MEMORY_POOL_PAGE_SIZE + 1;
511+
size_t page_num = frame_len / MEMORY_POOL_PAGE_SIZE + 1;
512512

513513
char* recv_buff = (char*)recv_buff_pool_->ordered_malloc(page_num);
514514
if (!recv_buff)

0 commit comments

Comments
 (0)