Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
胡斌
/
srs
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
winlin
2015-10-23 14:30:16 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
71451878c987402642432bd4d18c1d3400fe5611
71451878
1 parent
9a473902
refine kafka, simplify code.
隐藏空白字符变更
内嵌
并排对比
正在显示
2 个修改的文件
包含
22 行增加
和
34 行删除
trunk/src/app/srs_app_kafka.cpp
trunk/src/app/srs_app_kafka.hpp
trunk/src/app/srs_app_kafka.cpp
查看文件 @
7145187
...
...
@@ -178,41 +178,31 @@ int SrsKafkaPartition::flush(SrsKafkaPartitionCache* pc)
return
kafka
->
write_messages
(
topic
,
id
,
*
pc
);
}
SrsKafkaMessage
::
SrsKafkaMessage
(
int
k
)
SrsKafkaMessage
::
SrsKafkaMessage
(
SrsKafkaProducer
*
p
,
int
k
,
SrsJsonObject
*
j
)
{
producer
=
p
;
key
=
k
;
obj
=
j
;
}
SrsKafkaMessage
::~
SrsKafkaMessage
()
{
srs_freep
(
obj
);
}
SrsKafkaMessageOnClient
::
SrsKafkaMessageOnClient
(
SrsKafkaProducer
*
p
,
int
k
,
SrsListenerType
t
,
string
i
)
:
SrsKafkaMessage
(
k
)
{
producer
=
p
;
type
=
t
;
ip
=
i
;
}
SrsKafkaMessageOnClient
::~
SrsKafkaMessageOnClient
()
{
}
int
SrsKafkaMessageOnClient
::
call
()
int
SrsKafkaMessage
::
call
()
{
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
(
);
int
ret
=
producer
->
send
(
key
,
obj
);
obj
->
set
(
"msg"
,
SrsJsonAny
::
str
(
"accept"
));
obj
->
set
(
"type"
,
SrsJsonAny
::
integer
(
type
));
obj
->
set
(
"ip"
,
SrsJsonAny
::
str
(
ip
.
c_str
()));
// the obj is manged by producer now.
obj
=
NULL
;
return
producer
->
send
(
key
,
obj
)
;
return
ret
;
}
string
SrsKafkaMessage
OnClient
::
to_string
()
string
SrsKafkaMessage
::
to_string
()
{
return
ip
;
return
"kafka"
;
}
SrsKafkaCache
::
SrsKafkaCache
()
...
...
@@ -393,7 +383,13 @@ void SrsKafkaProducer::stop()
int
SrsKafkaProducer
::
on_client
(
int
key
,
SrsListenerType
type
,
string
ip
)
{
return
worker
->
execute
(
new
SrsKafkaMessageOnClient
(
this
,
key
,
type
,
ip
));
SrsJsonObject
*
obj
=
SrsJsonAny
::
object
();
obj
->
set
(
"msg"
,
SrsJsonAny
::
str
(
"accept"
));
obj
->
set
(
"type"
,
SrsJsonAny
::
integer
(
type
));
obj
->
set
(
"ip"
,
SrsJsonAny
::
str
(
ip
.
c_str
()));
return
worker
->
execute
(
new
SrsKafkaMessage
(
this
,
key
,
obj
));
}
int
SrsKafkaProducer
::
send
(
int
key
,
SrsJsonObject
*
obj
)
...
...
trunk/src/app/srs_app_kafka.hpp
查看文件 @
7145187
...
...
@@ -80,21 +80,13 @@ public:
*/
class
SrsKafkaMessage
:
public
ISrsAsyncCallTask
{
protected
:
private
:
SrsKafkaProducer
*
producer
;
int
key
;
SrsJsonObject
*
obj
;
public
:
SrsKafkaMessage
(
int
k
);
SrsKafkaMessage
(
SrsKafkaProducer
*
p
,
int
k
,
SrsJsonObject
*
j
);
virtual
~
SrsKafkaMessage
();
};
struct
SrsKafkaMessageOnClient
:
public
SrsKafkaMessage
{
public
:
SrsKafkaProducer
*
producer
;
SrsListenerType
type
;
std
::
string
ip
;
public
:
SrsKafkaMessageOnClient
(
SrsKafkaProducer
*
p
,
int
k
,
SrsListenerType
t
,
std
::
string
i
);
virtual
~
SrsKafkaMessageOnClient
();
// interface ISrsAsyncCallTask
public:
virtual
int
call
();
...
...
请
注册
或
登录
后发表评论