Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Jochen Bauer
spn-relayserver
Commits
31dac225
Commit
31dac225
authored
May 02, 2018
by
Hubert Denkmair
Browse files
stringify json message only once (and broadcast)
parent
239e1a59
Changes
2
Hide whitespace changes
Inline
Side-by-side
relayserver/RelayServer.cpp
View file @
31dac225
...
...
@@ -2,8 +2,7 @@
#include
<iostream>
#include
<string>
#include
<TcpServer/EPoll.h>
#include
<nlohmann/json.hpp>
using
nlohmann
::
json
;
#include
"JsonProtocol.h"
RelayServer
::
RelayServer
()
{
...
...
@@ -38,18 +37,22 @@ int RelayServer::Run()
con
->
FrameComplete
(
frame_id
,
_tcpProtocol
);
auto
key
=
con
->
getViewerKey
();
if
(
logMessages
.
find
(
key
)
=
=
logMessages
.
end
())
if
(
logMessages
.
find
(
key
)
!
=
logMessages
.
end
())
{
return
;
}
for
(
auto
&
item
:
logMessages
.
at
(
key
))
{
con
->
LogMessage
(
frame_id
,
item
.
message
);
for
(
auto
&
item
:
logMessages
.
at
(
key
))
{
con
->
LogMessage
(
frame_id
,
item
.
message
);
}
}
}
);
_tcpProtocol
.
ClearLogItems
();
for
(
auto
&
msg
:
_tcpProtocol
.
GetPendingMessages
())
{
std
::
string
s
=
json
(
*
msg
).
dump
();
h
.
getDefaultGroup
<
uWS
::
SERVER
>
().
broadcast
(
s
.
data
(),
s
.
length
(),
uWS
::
OpCode
::
TEXT
);
}
}
);
epoll
.
AddFileDescriptor
(
_clientSocket
,
EPOLLIN
|
EPOLLPRI
|
EPOLLERR
);
...
...
relayserver/WebsocketConnection.cpp
View file @
31dac225
...
...
@@ -16,12 +16,6 @@ void WebsocketConnection::FrameComplete(uint64_t frame_id, const TcpProtocol &pr
sendInitialData
(
proto
);
_firstFrameSent
=
true
;
}
msgpack
::
sbuffer
buf
;
for
(
auto
&
msg
:
proto
.
GetPendingMessages
())
{
sendString
(
json
(
*
msg
).
dump
());
}
}
void
WebsocketConnection
::
LogMessage
(
uint64_t
frame_id
,
const
std
::
string
&
message
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment