Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
actor-incubator
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cpp-libs
actor-incubator
Commits
85ae9170
Commit
85ae9170
authored
Nov 27, 2019
by
Jakob Otto
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert falsely added as_bytes
parent
a1fdd693
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
32 additions
and
34 deletions
+32
-34
libcaf_net/caf/net/datagram_transport.hpp
libcaf_net/caf/net/datagram_transport.hpp
+1
-1
libcaf_net/caf/net/stream_transport.hpp
libcaf_net/caf/net/stream_transport.hpp
+3
-3
libcaf_net/src/multiplexer.cpp
libcaf_net/src/multiplexer.cpp
+1
-1
libcaf_net/test/application.cpp
libcaf_net/test/application.cpp
+15
-15
libcaf_net/test/header.cpp
libcaf_net/test/header.cpp
+1
-1
libcaf_net/test/multiplexer.cpp
libcaf_net/test/multiplexer.cpp
+1
-1
libcaf_net/test/net/basp/worker.cpp
libcaf_net/test/net/basp/worker.cpp
+1
-1
libcaf_net/test/pipe_socket.cpp
libcaf_net/test/pipe_socket.cpp
+1
-2
libcaf_net/test/stream_application.cpp
libcaf_net/test/stream_application.cpp
+5
-5
libcaf_net/test/stream_socket.cpp
libcaf_net/test/stream_socket.cpp
+3
-4
No files found.
libcaf_net/caf/net/datagram_transport.hpp
View file @
85ae9170
...
@@ -87,7 +87,7 @@ public:
...
@@ -87,7 +87,7 @@ public:
CAF_LOG_DEBUG
(
"received "
<<
num_bytes
<<
" bytes"
);
CAF_LOG_DEBUG
(
"received "
<<
num_bytes
<<
" bytes"
);
auto
ep
=
res
->
second
;
auto
ep
=
res
->
second
;
this
->
read_buf_
.
resize
(
num_bytes
);
this
->
read_buf_
.
resize
(
num_bytes
);
this
->
next_layer_
.
handle_data
(
*
this
,
as_bytes
(
make_span
(
this
->
read_buf_
)
),
this
->
next_layer_
.
handle_data
(
*
this
,
make_span
(
this
->
read_buf_
),
std
::
move
(
ep
));
std
::
move
(
ep
));
prepare_next_read
();
prepare_next_read
();
}
else
{
}
else
{
...
...
libcaf_net/caf/net/stream_transport.hpp
View file @
85ae9170
...
@@ -85,8 +85,8 @@ public:
...
@@ -85,8 +85,8 @@ public:
this
->
collected_
+=
*
num_bytes
;
this
->
collected_
+=
*
num_bytes
;
if
(
this
->
collected_
>=
this
->
read_threshold_
)
{
if
(
this
->
collected_
>=
this
->
read_threshold_
)
{
if
(
auto
err
=
this
->
next_layer_
.
handle_data
(
*
this
,
if
(
auto
err
=
this
->
next_layer_
.
handle_data
(
*
this
,
as_bytes
(
make_span
(
make_span
(
this
->
read_buf_
)))
)
{
this
->
read_buf_
)))
{
CAF_LOG_ERROR
(
"handle_data failed: "
<<
CAF_ARG
(
err
));
CAF_LOG_ERROR
(
"handle_data failed: "
<<
CAF_ARG
(
err
));
return
false
;
return
false
;
}
}
...
@@ -186,7 +186,7 @@ private:
...
@@ -186,7 +186,7 @@ private:
CAF_ASSERT
(
!
buf
.
empty
());
CAF_ASSERT
(
!
buf
.
empty
());
auto
data
=
buf
.
data
()
+
written_
;
auto
data
=
buf
.
data
()
+
written_
;
auto
len
=
buf
.
size
()
-
written_
;
auto
len
=
buf
.
size
()
-
written_
;
auto
write_ret
=
write
(
this
->
handle
(),
as_bytes
(
make_span
(
data
,
len
)
));
auto
write_ret
=
write
(
this
->
handle
(),
make_span
(
data
,
len
));
if
(
auto
num_bytes
=
get_if
<
size_t
>
(
&
write_ret
))
{
if
(
auto
num_bytes
=
get_if
<
size_t
>
(
&
write_ret
))
{
CAF_LOG_DEBUG
(
CAF_ARG
(
this
->
handle_
.
id
)
<<
CAF_ARG
(
*
num_bytes
));
CAF_LOG_DEBUG
(
CAF_ARG
(
this
->
handle_
.
id
)
<<
CAF_ARG
(
*
num_bytes
));
written_
+=
*
num_bytes
;
written_
+=
*
num_bytes
;
...
...
libcaf_net/src/multiplexer.cpp
View file @
85ae9170
...
@@ -274,7 +274,7 @@ void multiplexer::write_to_pipe(uint8_t opcode, const socket_manager_ptr& mgr) {
...
@@ -274,7 +274,7 @@ void multiplexer::write_to_pipe(uint8_t opcode, const socket_manager_ptr& mgr) {
{
// Lifetime scope of guard.
{
// Lifetime scope of guard.
std
::
lock_guard
<
std
::
mutex
>
guard
{
write_lock_
};
std
::
lock_guard
<
std
::
mutex
>
guard
{
write_lock_
};
if
(
write_handle_
!=
invalid_socket
)
if
(
write_handle_
!=
invalid_socket
)
res
=
write
(
write_handle_
,
as_bytes
(
make_span
(
buf
)
));
res
=
write
(
write_handle_
,
make_span
(
buf
));
else
else
res
=
sec
::
socket_invalid
;
res
=
sec
::
socket_invalid
;
}
}
...
...
libcaf_net/test/application.cpp
View file @
85ae9170
...
@@ -75,16 +75,16 @@ struct fixture : test_coordinator_fixture<>,
...
@@ -75,16 +75,16 @@ struct fixture : test_coordinator_fixture<>,
set_input
(
basp
::
header
{
basp
::
message_type
::
handshake
,
set_input
(
basp
::
header
{
basp
::
message_type
::
handshake
,
static_cast
<
uint32_t
>
(
payload
.
size
()),
static_cast
<
uint32_t
>
(
payload
.
size
()),
basp
::
version
});
basp
::
version
});
REQUIRE_OK
(
app
.
handle_data
(
*
this
,
as_bytes
(
make_span
(
input
)
)));
REQUIRE_OK
(
app
.
handle_data
(
*
this
,
make_span
(
input
)));
CAF_CHECK_EQUAL
(
app
.
state
(),
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_handshake_payload
);
basp
::
connection_state
::
await_handshake_payload
);
REQUIRE_OK
(
app
.
handle_data
(
*
this
,
as_bytes
(
make_span
(
payload
)
)));
REQUIRE_OK
(
app
.
handle_data
(
*
this
,
make_span
(
payload
)));
}
}
void
consume_handshake
()
{
void
consume_handshake
()
{
if
(
output
.
size
()
<
basp
::
header_size
)
if
(
output
.
size
()
<
basp
::
header_size
)
CAF_FAIL
(
"BASP application did not write a handshake header"
);
CAF_FAIL
(
"BASP application did not write a handshake header"
);
auto
hdr
=
basp
::
header
::
from_bytes
(
as_bytes
(
make_span
(
output
)
));
auto
hdr
=
basp
::
header
::
from_bytes
(
make_span
(
output
));
if
(
hdr
.
type
!=
basp
::
message_type
::
handshake
||
hdr
.
payload_len
==
0
if
(
hdr
.
type
!=
basp
::
message_type
::
handshake
||
hdr
.
payload_len
==
0
||
hdr
.
operation_data
!=
basp
::
version
)
||
hdr
.
operation_data
!=
basp
::
version
)
CAF_FAIL
(
"invalid handshake header"
);
CAF_FAIL
(
"invalid handshake header"
);
...
@@ -158,10 +158,10 @@ protected:
...
@@ -158,10 +158,10 @@ protected:
do { \
do { \
auto payload = to_buf(__VA_ARGS__); \
auto payload = to_buf(__VA_ARGS__); \
set_input(basp::header{kind, static_cast<uint32_t>(payload.size()), op}); \
set_input(basp::header{kind, static_cast<uint32_t>(payload.size()), op}); \
if (auto err = app.handle_data(*this,
as_bytes(make_span(input))))
\
if (auto err = app.handle_data(*this,
make_span(input)))
\
CAF_FAIL("application-under-test failed to process header: " \
CAF_FAIL("application-under-test failed to process header: " \
<< sys.render(err)); \
<< sys.render(err)); \
if (auto err = app.handle_data(*this,
as_bytes(make_span(payload))))
\
if (auto err = app.handle_data(*this,
make_span(payload)))
\
CAF_FAIL("application-under-test failed to process payload: " \
CAF_FAIL("application-under-test failed to process payload: " \
<< sys.render(err)); \
<< sys.render(err)); \
} while (false)
} while (false)
...
@@ -185,21 +185,21 @@ CAF_TEST_FIXTURE_SCOPE(application_tests, fixture)
...
@@ -185,21 +185,21 @@ CAF_TEST_FIXTURE_SCOPE(application_tests, fixture)
CAF_TEST
(
missing
handshake
)
{
CAF_TEST
(
missing
handshake
)
{
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_handshake_header
);
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_handshake_header
);
set_input
(
basp
::
header
{
basp
::
message_type
::
heartbeat
,
0
,
0
});
set_input
(
basp
::
header
{
basp
::
message_type
::
heartbeat
,
0
,
0
});
CAF_CHECK_EQUAL
(
app
.
handle_data
(
*
this
,
as_bytes
(
make_span
(
input
)
)),
CAF_CHECK_EQUAL
(
app
.
handle_data
(
*
this
,
make_span
(
input
)),
basp
::
ec
::
missing_handshake
);
basp
::
ec
::
missing_handshake
);
}
}
CAF_TEST
(
version
mismatch
)
{
CAF_TEST
(
version
mismatch
)
{
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_handshake_header
);
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_handshake_header
);
set_input
(
basp
::
header
{
basp
::
message_type
::
handshake
,
0
,
0
});
set_input
(
basp
::
header
{
basp
::
message_type
::
handshake
,
0
,
0
});
CAF_CHECK_EQUAL
(
app
.
handle_data
(
*
this
,
as_bytes
(
make_span
(
input
)
)),
CAF_CHECK_EQUAL
(
app
.
handle_data
(
*
this
,
make_span
(
input
)),
basp
::
ec
::
version_mismatch
);
basp
::
ec
::
version_mismatch
);
}
}
CAF_TEST
(
missing
payload
in
handshake
)
{
CAF_TEST
(
missing
payload
in
handshake
)
{
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_handshake_header
);
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_handshake_header
);
set_input
(
basp
::
header
{
basp
::
message_type
::
handshake
,
0
,
basp
::
version
});
set_input
(
basp
::
header
{
basp
::
message_type
::
handshake
,
0
,
basp
::
version
});
CAF_CHECK_EQUAL
(
app
.
handle_data
(
*
this
,
as_bytes
(
make_span
(
input
)
)),
CAF_CHECK_EQUAL
(
app
.
handle_data
(
*
this
,
make_span
(
input
)),
basp
::
ec
::
missing_payload
);
basp
::
ec
::
missing_payload
);
}
}
...
@@ -210,9 +210,9 @@ CAF_TEST(invalid handshake) {
...
@@ -210,9 +210,9 @@ CAF_TEST(invalid handshake) {
auto
payload
=
to_buf
(
no_nid
,
no_ids
);
auto
payload
=
to_buf
(
no_nid
,
no_ids
);
set_input
(
basp
::
header
{
basp
::
message_type
::
handshake
,
set_input
(
basp
::
header
{
basp
::
message_type
::
handshake
,
static_cast
<
uint32_t
>
(
payload
.
size
()),
basp
::
version
});
static_cast
<
uint32_t
>
(
payload
.
size
()),
basp
::
version
});
REQUIRE_OK
(
app
.
handle_data
(
*
this
,
as_bytes
(
make_span
(
input
)
)));
REQUIRE_OK
(
app
.
handle_data
(
*
this
,
make_span
(
input
)));
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_handshake_payload
);
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_handshake_payload
);
CAF_CHECK_EQUAL
(
app
.
handle_data
(
*
this
,
as_bytes
(
make_span
(
payload
)
)),
CAF_CHECK_EQUAL
(
app
.
handle_data
(
*
this
,
make_span
(
payload
)),
basp
::
ec
::
invalid_handshake
);
basp
::
ec
::
invalid_handshake
);
}
}
...
@@ -222,9 +222,9 @@ CAF_TEST(app identifier mismatch) {
...
@@ -222,9 +222,9 @@ CAF_TEST(app identifier mismatch) {
auto
payload
=
to_buf
(
mars
,
wrong_ids
);
auto
payload
=
to_buf
(
mars
,
wrong_ids
);
set_input
(
basp
::
header
{
basp
::
message_type
::
handshake
,
set_input
(
basp
::
header
{
basp
::
message_type
::
handshake
,
static_cast
<
uint32_t
>
(
payload
.
size
()),
basp
::
version
});
static_cast
<
uint32_t
>
(
payload
.
size
()),
basp
::
version
});
REQUIRE_OK
(
app
.
handle_data
(
*
this
,
as_bytes
(
make_span
(
input
)
)));
REQUIRE_OK
(
app
.
handle_data
(
*
this
,
make_span
(
input
)));
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_handshake_payload
);
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_handshake_payload
);
CAF_CHECK_EQUAL
(
app
.
handle_data
(
*
this
,
as_bytes
(
make_span
(
payload
)
)),
CAF_CHECK_EQUAL
(
app
.
handle_data
(
*
this
,
make_span
(
payload
)),
basp
::
ec
::
app_identifiers_mismatch
);
basp
::
ec
::
app_identifiers_mismatch
);
}
}
...
@@ -237,8 +237,8 @@ CAF_TEST(repeated handshake) {
...
@@ -237,8 +237,8 @@ CAF_TEST(repeated handshake) {
auto
payload
=
to_buf
(
no_nid
,
no_ids
);
auto
payload
=
to_buf
(
no_nid
,
no_ids
);
set_input
(
basp
::
header
{
basp
::
message_type
::
handshake
,
set_input
(
basp
::
header
{
basp
::
message_type
::
handshake
,
static_cast
<
uint32_t
>
(
payload
.
size
()),
basp
::
version
});
static_cast
<
uint32_t
>
(
payload
.
size
()),
basp
::
version
});
CAF_CHECK_EQUAL
(
app
.
handle_data
(
*
this
,
as_bytes
(
make_span
(
input
)
)),
none
);
CAF_CHECK_EQUAL
(
app
.
handle_data
(
*
this
,
make_span
(
input
)),
none
);
CAF_CHECK_EQUAL
(
app
.
handle_data
(
*
this
,
as_bytes
(
make_span
(
payload
)
)),
CAF_CHECK_EQUAL
(
app
.
handle_data
(
*
this
,
make_span
(
payload
)),
basp
::
ec
::
unexpected_handshake
);
basp
::
ec
::
unexpected_handshake
);
}
}
...
@@ -337,7 +337,7 @@ CAF_TEST(heartbeat message) {
...
@@ -337,7 +337,7 @@ CAF_TEST(heartbeat message) {
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_header
);
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_header
);
auto
bytes
=
to_bytes
(
basp
::
header
{
basp
::
message_type
::
heartbeat
,
0
,
0
});
auto
bytes
=
to_bytes
(
basp
::
header
{
basp
::
message_type
::
heartbeat
,
0
,
0
});
set_input
(
bytes
);
set_input
(
bytes
);
REQUIRE_OK
(
app
.
handle_data
(
*
this
,
as_bytes
(
make_span
(
input
)
)));
REQUIRE_OK
(
app
.
handle_data
(
*
this
,
make_span
(
input
)));
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_header
);
CAF_CHECK_EQUAL
(
app
.
state
(),
basp
::
connection_state
::
await_header
);
}
}
...
...
libcaf_net/test/header.cpp
View file @
85ae9170
...
@@ -45,7 +45,7 @@ CAF_TEST(serialization) {
...
@@ -45,7 +45,7 @@ CAF_TEST(serialization) {
CAF_CHECK_EQUAL
(
source
(
y
),
none
);
CAF_CHECK_EQUAL
(
source
(
y
),
none
);
}
}
CAF_CHECK_EQUAL
(
x
,
y
);
CAF_CHECK_EQUAL
(
x
,
y
);
auto
z
=
basp
::
header
::
from_bytes
(
as_bytes
(
make_span
(
buf
)
));
auto
z
=
basp
::
header
::
from_bytes
(
make_span
(
buf
));
CAF_CHECK_EQUAL
(
x
,
z
);
CAF_CHECK_EQUAL
(
x
,
z
);
CAF_CHECK_EQUAL
(
y
,
z
);
CAF_CHECK_EQUAL
(
y
,
z
);
}
}
...
...
libcaf_net/test/multiplexer.cpp
View file @
85ae9170
...
@@ -72,7 +72,7 @@ public:
...
@@ -72,7 +72,7 @@ public:
bool
handle_write_event
()
override
{
bool
handle_write_event
()
override
{
if
(
wr_buf_
.
size
()
==
0
)
if
(
wr_buf_
.
size
()
==
0
)
return
false
;
return
false
;
auto
res
=
write
(
handle
(),
as_bytes
(
make_span
(
wr_buf_
)
));
auto
res
=
write
(
handle
(),
make_span
(
wr_buf_
));
if
(
auto
num_bytes
=
get_if
<
size_t
>
(
&
res
))
{
if
(
auto
num_bytes
=
get_if
<
size_t
>
(
&
res
))
{
CAF_ASSERT
(
*
num_bytes
>
0
);
CAF_ASSERT
(
*
num_bytes
>
0
);
wr_buf_
.
erase
(
wr_buf_
.
begin
(),
wr_buf_
.
begin
()
+
*
num_bytes
);
wr_buf_
.
erase
(
wr_buf_
.
begin
(),
wr_buf_
.
begin
()
+
*
num_bytes
);
...
...
libcaf_net/test/net/basp/worker.cpp
View file @
85ae9170
...
@@ -117,7 +117,7 @@ CAF_TEST(deliver serialized message) {
...
@@ -117,7 +117,7 @@ CAF_TEST(deliver serialized message) {
static_cast
<
uint32_t
>
(
payload
.
size
()),
static_cast
<
uint32_t
>
(
payload
.
size
()),
make_message_id
().
integer_value
()};
make_message_id
().
integer_value
()};
CAF_MESSAGE
(
"launch worker"
);
CAF_MESSAGE
(
"launch worker"
);
w
->
launch
(
last_hop
,
hdr
,
as_bytes
(
make_span
(
payload
)
));
w
->
launch
(
last_hop
,
hdr
,
make_span
(
payload
));
sched
.
run_once
();
sched
.
run_once
();
expect
((
ok_atom
),
from
(
_
).
to
(
testee
));
expect
((
ok_atom
),
from
(
_
).
to
(
testee
));
}
}
...
...
libcaf_net/test/pipe_socket.cpp
View file @
85ae9170
...
@@ -41,8 +41,7 @@ CAF_TEST(send and receive) {
...
@@ -41,8 +41,7 @@ CAF_TEST(send and receive) {
pipe_socket
rd_sock
;
pipe_socket
rd_sock
;
pipe_socket
wr_sock
;
pipe_socket
wr_sock
;
std
::
tie
(
rd_sock
,
wr_sock
)
=
unbox
(
make_pipe
());
std
::
tie
(
rd_sock
,
wr_sock
)
=
unbox
(
make_pipe
());
CAF_CHECK_EQUAL
(
write
(
wr_sock
,
as_bytes
(
make_span
(
send_buf
))),
CAF_CHECK_EQUAL
(
write
(
wr_sock
,
make_span
(
send_buf
)),
send_buf
.
size
());
send_buf
.
size
());
CAF_CHECK_EQUAL
(
read
(
rd_sock
,
make_span
(
receive_buf
)),
send_buf
.
size
());
CAF_CHECK_EQUAL
(
read
(
rd_sock
,
make_span
(
receive_buf
)),
send_buf
.
size
());
CAF_CHECK
(
std
::
equal
(
send_buf
.
begin
(),
send_buf
.
end
(),
receive_buf
.
begin
()));
CAF_CHECK
(
std
::
equal
(
send_buf
.
begin
(),
send_buf
.
end
(),
receive_buf
.
begin
()));
}
}
...
...
libcaf_net/test/stream_application.cpp
View file @
85ae9170
...
@@ -90,7 +90,7 @@ struct fixture : host_fixture, test_coordinator_fixture<config> {
...
@@ -90,7 +90,7 @@ struct fixture : host_fixture, test_coordinator_fixture<config> {
template
<
class
...
Ts
>
template
<
class
...
Ts
>
void
mock
(
const
Ts
&
...
xs
)
{
void
mock
(
const
Ts
&
...
xs
)
{
auto
buf
=
to_buf
(
xs
...);
auto
buf
=
to_buf
(
xs
...);
if
(
fetch_size
(
write
(
sock
,
as_bytes
(
make_span
(
buf
)
)))
!=
buf
.
size
())
if
(
fetch_size
(
write
(
sock
,
make_span
(
buf
)))
!=
buf
.
size
())
CAF_FAIL
(
"unable to write "
<<
buf
.
size
()
<<
" bytes"
);
CAF_FAIL
(
"unable to write "
<<
buf
.
size
()
<<
" bytes"
);
run
();
run
();
}
}
...
@@ -103,7 +103,7 @@ struct fixture : host_fixture, test_coordinator_fixture<config> {
...
@@ -103,7 +103,7 @@ struct fixture : host_fixture, test_coordinator_fixture<config> {
static_cast
<
uint32_t
>
(
payload
.
size
()),
basp
::
version
});
static_cast
<
uint32_t
>
(
payload
.
size
()),
basp
::
version
});
CAF_CHECK_EQUAL
(
app
->
state
(),
CAF_CHECK_EQUAL
(
app
->
state
(),
basp
::
connection_state
::
await_handshake_payload
);
basp
::
connection_state
::
await_handshake_payload
);
write
(
sock
,
as_bytes
(
make_span
(
payload
)
));
write
(
sock
,
make_span
(
payload
));
run
();
run
();
}
}
...
@@ -111,7 +111,7 @@ struct fixture : host_fixture, test_coordinator_fixture<config> {
...
@@ -111,7 +111,7 @@ struct fixture : host_fixture, test_coordinator_fixture<config> {
buffer_type
buf
(
basp
::
header_size
);
buffer_type
buf
(
basp
::
header_size
);
if
(
fetch_size
(
read
(
sock
,
make_span
(
buf
)))
!=
basp
::
header_size
)
if
(
fetch_size
(
read
(
sock
,
make_span
(
buf
)))
!=
basp
::
header_size
)
CAF_FAIL
(
"unable to read "
<<
basp
::
header_size
<<
" bytes"
);
CAF_FAIL
(
"unable to read "
<<
basp
::
header_size
<<
" bytes"
);
auto
hdr
=
basp
::
header
::
from_bytes
(
as_bytes
(
make_span
(
buf
)
));
auto
hdr
=
basp
::
header
::
from_bytes
(
make_span
(
buf
));
if
(
hdr
.
type
!=
basp
::
message_type
::
handshake
||
hdr
.
payload_len
==
0
if
(
hdr
.
type
!=
basp
::
message_type
::
handshake
||
hdr
.
payload_len
==
0
||
hdr
.
operation_data
!=
basp
::
version
)
||
hdr
.
operation_data
!=
basp
::
version
)
CAF_FAIL
(
"invalid handshake header"
);
CAF_FAIL
(
"invalid handshake header"
);
...
@@ -149,7 +149,7 @@ struct fixture : host_fixture, test_coordinator_fixture<config> {
...
@@ -149,7 +149,7 @@ struct fixture : host_fixture, test_coordinator_fixture<config> {
std::tuple<unit_t>>::value) { \
std::tuple<unit_t>>::value) { \
auto payload = to_buf(__VA_ARGS__); \
auto payload = to_buf(__VA_ARGS__); \
mock(basp::header{kind, static_cast<uint32_t>(payload.size()), op}); \
mock(basp::header{kind, static_cast<uint32_t>(payload.size()), op}); \
write(sock,
as_bytes(make_span(payload)));
\
write(sock,
make_span(payload));
\
} else { \
} else { \
mock(basp::header{kind, 0, op}); \
mock(basp::header{kind, 0, op}); \
} \
} \
...
@@ -162,7 +162,7 @@ struct fixture : host_fixture, test_coordinator_fixture<config> {
...
@@ -162,7 +162,7 @@ struct fixture : host_fixture, test_coordinator_fixture<config> {
buffer_type buf(basp::header_size); \
buffer_type buf(basp::header_size); \
if (fetch_size(read(sock, make_span(buf))) != basp::header_size) \
if (fetch_size(read(sock, make_span(buf))) != basp::header_size) \
CAF_FAIL("unable to read " << basp::header_size << " bytes"); \
CAF_FAIL("unable to read " << basp::header_size << " bytes"); \
auto hdr = basp::header::from_bytes(
as_bytes(make_span(buf)));
\
auto hdr = basp::header::from_bytes(
make_span(buf));
\
CAF_CHECK_EQUAL(hdr.type, msg_type); \
CAF_CHECK_EQUAL(hdr.type, msg_type); \
CAF_CHECK_EQUAL(hdr.operation_data, op_data); \
CAF_CHECK_EQUAL(hdr.operation_data, op_data); \
if (!std::is_same<decltype(std::make_tuple(__VA_ARGS__)), \
if (!std::is_same<decltype(std::make_tuple(__VA_ARGS__)), \
...
...
libcaf_net/test/stream_socket.cpp
View file @
85ae9170
...
@@ -83,7 +83,7 @@ CAF_TEST(read on empty sockets) {
...
@@ -83,7 +83,7 @@ CAF_TEST(read on empty sockets) {
CAF_TEST
(
transfer
data
from
first
to
second
socket
)
{
CAF_TEST
(
transfer
data
from
first
to
second
socket
)
{
std
::
vector
<
byte
>
wr_buf
{
1
_b
,
2
_b
,
4
_b
,
8
_b
,
16
_b
,
32
_b
,
64
_b
};
std
::
vector
<
byte
>
wr_buf
{
1
_b
,
2
_b
,
4
_b
,
8
_b
,
16
_b
,
32
_b
,
64
_b
};
CAF_MESSAGE
(
"transfer data from first to second socket"
);
CAF_MESSAGE
(
"transfer data from first to second socket"
);
CAF_CHECK_EQUAL
(
write
(
first
,
as_bytes
(
make_span
(
wr_buf
)
)),
wr_buf
.
size
());
CAF_CHECK_EQUAL
(
write
(
first
,
make_span
(
wr_buf
)),
wr_buf
.
size
());
CAF_CHECK_EQUAL
(
read
(
second
,
make_span
(
rd_buf
)),
wr_buf
.
size
());
CAF_CHECK_EQUAL
(
read
(
second
,
make_span
(
rd_buf
)),
wr_buf
.
size
());
CAF_CHECK
(
std
::
equal
(
wr_buf
.
begin
(),
wr_buf
.
end
(),
rd_buf
.
begin
()));
CAF_CHECK
(
std
::
equal
(
wr_buf
.
begin
(),
wr_buf
.
end
(),
rd_buf
.
begin
()));
rd_buf
.
assign
(
rd_buf
.
size
(),
byte
(
0
));
rd_buf
.
assign
(
rd_buf
.
size
(),
byte
(
0
));
...
@@ -91,7 +91,7 @@ CAF_TEST(transfer data from first to second socket) {
...
@@ -91,7 +91,7 @@ CAF_TEST(transfer data from first to second socket) {
CAF_TEST
(
transfer
data
from
second
to
first
socket
)
{
CAF_TEST
(
transfer
data
from
second
to
first
socket
)
{
std
::
vector
<
byte
>
wr_buf
{
1
_b
,
2
_b
,
4
_b
,
8
_b
,
16
_b
,
32
_b
,
64
_b
};
std
::
vector
<
byte
>
wr_buf
{
1
_b
,
2
_b
,
4
_b
,
8
_b
,
16
_b
,
32
_b
,
64
_b
};
CAF_CHECK_EQUAL
(
write
(
second
,
as_bytes
(
make_span
(
wr_buf
)
)),
wr_buf
.
size
());
CAF_CHECK_EQUAL
(
write
(
second
,
make_span
(
wr_buf
)),
wr_buf
.
size
());
CAF_CHECK_EQUAL
(
read
(
first
,
make_span
(
rd_buf
)),
wr_buf
.
size
());
CAF_CHECK_EQUAL
(
read
(
first
,
make_span
(
rd_buf
)),
wr_buf
.
size
());
CAF_CHECK
(
std
::
equal
(
wr_buf
.
begin
(),
wr_buf
.
end
(),
rd_buf
.
begin
()));
CAF_CHECK
(
std
::
equal
(
wr_buf
.
begin
(),
wr_buf
.
end
(),
rd_buf
.
begin
()));
}
}
...
@@ -108,8 +108,7 @@ CAF_TEST(transfer data using multiple buffers) {
...
@@ -108,8 +108,7 @@ CAF_TEST(transfer data using multiple buffers) {
std
::
vector
<
byte
>
full_buf
;
std
::
vector
<
byte
>
full_buf
;
full_buf
.
insert
(
full_buf
.
end
(),
wr_buf_1
.
begin
(),
wr_buf_1
.
end
());
full_buf
.
insert
(
full_buf
.
end
(),
wr_buf_1
.
begin
(),
wr_buf_1
.
end
());
full_buf
.
insert
(
full_buf
.
end
(),
wr_buf_2
.
begin
(),
wr_buf_2
.
end
());
full_buf
.
insert
(
full_buf
.
end
(),
wr_buf_2
.
begin
(),
wr_buf_2
.
end
());
CAF_CHECK_EQUAL
(
write
(
second
,
{
as_bytes
(
make_span
(
wr_buf_1
)),
CAF_CHECK_EQUAL
(
write
(
second
,
{
make_span
(
wr_buf_1
),
make_span
(
wr_buf_2
)}),
as_bytes
(
make_span
(
wr_buf_2
))}),
full_buf
.
size
());
full_buf
.
size
());
CAF_CHECK_EQUAL
(
read
(
first
,
make_span
(
rd_buf
)),
full_buf
.
size
());
CAF_CHECK_EQUAL
(
read
(
first
,
make_span
(
rd_buf
)),
full_buf
.
size
());
CAF_CHECK
(
std
::
equal
(
full_buf
.
begin
(),
full_buf
.
end
(),
rd_buf
.
begin
()));
CAF_CHECK
(
std
::
equal
(
full_buf
.
begin
(),
full_buf
.
end
(),
rd_buf
.
begin
()));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a 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