Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
Actor Framework
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
Operations
Operations
Metrics
Environments
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 Framework
Commits
64e3e8b9
Commit
64e3e8b9
authored
Aug 29, 2019
by
Jakob Otto
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Cleanup code
parent
c90fe5e4
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
14 deletions
+21
-14
libcaf_net/caf/net/transport_worker.hpp
libcaf_net/caf/net/transport_worker.hpp
+1
-2
libcaf_net/caf/net/write_packet_decorator.hpp
libcaf_net/caf/net/write_packet_decorator.hpp
+16
-8
libcaf_net/test/stream_transport.cpp
libcaf_net/test/stream_transport.cpp
+4
-4
No files found.
libcaf_net/caf/net/transport_worker.hpp
View file @
64e3e8b9
...
...
@@ -50,8 +50,7 @@ public:
template
<
class
Parent
>
error
init
(
Parent
&
parent
)
{
auto
decorator
=
make_write_packet_decorator
(
*
this
,
parent
);
application_
.
init
(
decorator
);
application_
.
init
(
parent
);
return
none
;
}
...
...
libcaf_net/caf/net/write_packet_decorator.hpp
View file @
64e3e8b9
...
...
@@ -29,25 +29,37 @@ namespace net {
template
<
class
Object
,
class
Parent
>
class
write_packet_decorator
{
public:
// -- member types -----------------------------------------------------------
using
transport_type
=
typename
Parent
::
transport_type
;
using
application_type
=
typename
Parent
::
application_type
;
// -- constructors, destructors, and assignment operators --------------------
write_packet_decorator
(
Object
&
object
,
Parent
&
parent
)
:
object_
(
object
),
parent_
(
parent
)
{
// nop
}
// -- properties -------------------------------------------------------------
actor_system
&
system
()
{
return
parent_
.
system
();
}
transport_type
&
transport
()
{
return
parent_
.
transport
();
}
// -- member functions -------------------------------------------------------
template
<
class
Header
,
class
...
Ts
>
void
write_packet
(
const
Header
&
header
,
span
<
const
byte
>
payload
,
Ts
&&
...
xs
)
{
object_
.
write_packet
(
parent_
,
header
,
payload
,
std
::
forward
<
Ts
>
(
xs
)...);
}
actor_system
&
system
()
{
return
parent_
.
system
();
}
void
cancel_timeout
(
atom_value
type
,
uint64_t
id
)
{
parent_
.
cancel_timeout
(
type
,
id
);
}
...
...
@@ -57,10 +69,6 @@ public:
return
parent_
.
set_timeout
(
tout
,
type
,
std
::
forward
<
Ts
>
(
xs
)...);
}
transport_type
&
transport
()
{
return
parent_
.
transport
();
}
private:
Object
&
object_
;
Parent
&
parent_
;
...
...
libcaf_net/test/stream_transport.cpp
View file @
64e3e8b9
...
...
@@ -16,7 +16,7 @@
* http://www.boost.org/LICENSE_1_0.txt. *
******************************************************************************/
#define CAF_SUITE s
cribe_policy
#define CAF_SUITE s
tream_transport
#include "caf/net/stream_transport.hpp"
...
...
@@ -128,20 +128,20 @@ CAF_TEST(receive) {
CAF_CHECK_EQUAL
(
mpx
->
num_socket_managers
(),
1u
);
auto
buf
=
std
::
make_shared
<
std
::
vector
<
byte
>>
();
auto
sockets
=
unbox
(
make_stream_socket_pair
());
nonblocking
(
sockets
.
second
,
true
);
if
(
auto
err
=
nonblocking
(
sockets
.
second
,
true
))
CAF_FAIL
(
"nonblocking() returned an error: "
<<
err
);
CAF_CHECK_EQUAL
(
read
(
sockets
.
second
,
make_span
(
read_buf
)),
sec
::
unavailable_or_would_block
);
auto
guard
=
detail
::
make_scope_guard
([
&
]
{
close
(
sockets
.
second
);
});
CAF_MESSAGE
(
"configure scribe_policy"
);
transport_type
transport
{
sockets
.
first
,
dummy_application
{
buf
}};
transport
.
configure_read
(
net
::
receive_policy
::
exactly
(
hello_manager
.
size
()));
auto
mgr
=
make_endpoint_manager
(
mpx
,
sys
,
transport
);
CAF_CHECK_EQUAL
(
mgr
->
init
(),
none
);
mpx
->
handle_updates
();
CAF_CHECK_EQUAL
(
mpx
->
num_socket_managers
(),
2u
);
CAF_MESSAGE
(
"sending data to scribe_policy"
);
CAF_CHECK_EQUAL
(
write
(
sockets
.
second
,
as_bytes
(
make_span
(
hello_manager
))),
hello_manager
.
size
());
CAF_MESSAGE
(
"wrote "
<<
hello_manager
.
size
()
<<
" bytes."
);
run
();
CAF_CHECK_EQUAL
(
string_view
(
reinterpret_cast
<
char
*>
(
buf
->
data
()),
buf
->
size
()),
...
...
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