mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
refine code for kakfa request/response, string/bytes.
This commit is contained in:
parent
8a4ec49064
commit
45755fd1e7
2 changed files with 99 additions and 14 deletions
|
@ -27,6 +27,7 @@
|
|||
using namespace std;
|
||||
|
||||
#include <srs_kernel_error.hpp>
|
||||
#include <srs_core_autofree.hpp>
|
||||
|
||||
#ifdef SRS_AUTO_KAFKA
|
||||
|
||||
|
@ -36,6 +37,15 @@ SrsKafkaString::SrsKafkaString()
|
|||
data = NULL;
|
||||
}
|
||||
|
||||
SrsKafkaString::SrsKafkaString(string v)
|
||||
{
|
||||
size = (int16_t)v.length();
|
||||
|
||||
srs_assert(size > 0);
|
||||
data = new char[size];
|
||||
memcpy(data, v.data(), size);
|
||||
}
|
||||
|
||||
SrsKafkaString::~SrsKafkaString()
|
||||
{
|
||||
srs_freep(data);
|
||||
|
@ -62,6 +72,15 @@ SrsKafkaBytes::SrsKafkaBytes()
|
|||
data = NULL;
|
||||
}
|
||||
|
||||
SrsKafkaBytes::SrsKafkaBytes(const char* v, int nb_v)
|
||||
{
|
||||
size = (int16_t)nb_v;
|
||||
|
||||
srs_assert(size > 0);
|
||||
data = new char[size];
|
||||
memcpy(data, v, size);
|
||||
}
|
||||
|
||||
SrsKafkaBytes::~SrsKafkaBytes()
|
||||
{
|
||||
srs_freep(data);
|
||||
|
@ -175,7 +194,7 @@ int SrsKafkaResponseHeader::total_size()
|
|||
return 4 + size;
|
||||
}
|
||||
|
||||
SrsKafkaMessage::SrsKafkaMessage()
|
||||
SrsKafkaRawMessage::SrsKafkaRawMessage()
|
||||
{
|
||||
offset = 0;
|
||||
message_size = 0;
|
||||
|
@ -186,7 +205,7 @@ SrsKafkaMessage::SrsKafkaMessage()
|
|||
value = new SrsKafkaBytes();
|
||||
}
|
||||
|
||||
SrsKafkaMessage::~SrsKafkaMessage()
|
||||
SrsKafkaRawMessage::~SrsKafkaRawMessage()
|
||||
{
|
||||
srs_freep(key);
|
||||
srs_freep(value);
|
||||
|
@ -198,14 +217,30 @@ SrsKafkaMessageSet::SrsKafkaMessageSet()
|
|||
|
||||
SrsKafkaMessageSet::~SrsKafkaMessageSet()
|
||||
{
|
||||
vector<SrsKafkaMessage*>::iterator it;
|
||||
vector<SrsKafkaRawMessage*>::iterator it;
|
||||
for (it = messages.begin(); it != messages.end(); ++it) {
|
||||
SrsKafkaMessage* message = *it;
|
||||
SrsKafkaRawMessage* message = *it;
|
||||
srs_freep(message);
|
||||
}
|
||||
messages.clear();
|
||||
}
|
||||
|
||||
SrsKafkaRequest::SrsKafkaRequest()
|
||||
{
|
||||
}
|
||||
|
||||
SrsKafkaRequest::~SrsKafkaRequest()
|
||||
{
|
||||
}
|
||||
|
||||
SrsKafkaResponse::SrsKafkaResponse()
|
||||
{
|
||||
}
|
||||
|
||||
SrsKafkaResponse::~SrsKafkaResponse()
|
||||
{
|
||||
}
|
||||
|
||||
SrsKafkaTopicMetadataRequest::SrsKafkaTopicMetadataRequest()
|
||||
{
|
||||
header.set_api_key(SrsKafkaApiKeyMetadataRequest);
|
||||
|
@ -215,6 +250,19 @@ SrsKafkaTopicMetadataRequest::~SrsKafkaTopicMetadataRequest()
|
|||
{
|
||||
}
|
||||
|
||||
void SrsKafkaTopicMetadataRequest::add_topic(string topic)
|
||||
{
|
||||
topics.append(new SrsKafkaString(topic));
|
||||
}
|
||||
|
||||
SrsKafkaTopicMetadataResponse::SrsKafkaTopicMetadataResponse()
|
||||
{
|
||||
}
|
||||
|
||||
SrsKafkaTopicMetadataResponse::~SrsKafkaTopicMetadataResponse()
|
||||
{
|
||||
}
|
||||
|
||||
SrsKafkaProtocol::SrsKafkaProtocol(ISrsProtocolReaderWriter* io)
|
||||
{
|
||||
skt = io;
|
||||
|
@ -224,7 +272,7 @@ SrsKafkaProtocol::~SrsKafkaProtocol()
|
|||
{
|
||||
}
|
||||
|
||||
int SrsKafkaProtocol::send_and_free_message(SrsKafkaMessage* msg)
|
||||
int SrsKafkaProtocol::send_and_free_message(SrsKafkaRequest* msg)
|
||||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
|
@ -247,6 +295,11 @@ int SrsKafkaClient::fetch_metadata(string topic)
|
|||
{
|
||||
int ret = ERROR_SUCCESS;
|
||||
|
||||
SrsKafkaTopicMetadataRequest* req = new SrsKafkaTopicMetadataRequest();
|
||||
SrsAutoFree(SrsKafkaTopicMetadataRequest, req);
|
||||
|
||||
req->add_topic(topic);
|
||||
|
||||
// TODO: FIXME: implements it.
|
||||
|
||||
return ret;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue