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
835f2900
Commit
835f2900
authored
Jun 14, 2013
by
Dominik Charousset
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
re-implemented correct timeout behavior in timed_*
parent
82b23a81
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
25 additions
and
6 deletions
+25
-6
cppa/send.hpp
cppa/send.hpp
+13
-1
src/send.cpp
src/send.cpp
+12
-5
No files found.
cppa/send.hpp
View file @
835f2900
...
@@ -184,6 +184,18 @@ void delayed_reply_tuple(const util::duration& rel_time,
...
@@ -184,6 +184,18 @@ void delayed_reply_tuple(const util::duration& rel_time,
message_id
mid
,
message_id
mid
,
any_tuple
data
);
any_tuple
data
);
/**
* @brief Sends a reply message that is delayed by @p rel_time.
* @param rtime Relative time duration to delay the message in
* microseconds, milliseconds, seconds or minutes.
* @param what Message content as a tuple.
* @see delayed_send()
*/
void
delayed_reply_tuple
(
const
util
::
duration
&
rel_time
,
actor_ptr
whom
,
message_id
mid
,
any_tuple
data
);
/**
/**
* @brief Sends a reply message that is delayed by @p rel_time.
* @brief Sends a reply message that is delayed by @p rel_time.
* @param rtime Relative time duration to delay the message in
* @param rtime Relative time duration to delay the message in
...
@@ -223,7 +235,7 @@ message_future timed_sync_send_tuple(actor_ptr whom,
...
@@ -223,7 +235,7 @@ message_future timed_sync_send_tuple(actor_ptr whom,
any_tuple
what
)
{
any_tuple
what
)
{
auto
mf
=
sync_send_tuple
(
std
::
move
(
whom
),
std
::
move
(
what
));
auto
mf
=
sync_send_tuple
(
std
::
move
(
whom
),
std
::
move
(
what
));
auto
tmp
=
make_any_tuple
(
atom
(
"TIMEOUT"
));
auto
tmp
=
make_any_tuple
(
atom
(
"TIMEOUT"
));
delayed_reply_tuple
(
util
::
duration
{
rel_time
},
mf
.
id
(),
std
::
move
(
tmp
));
delayed_reply_tuple
(
util
::
duration
{
rel_time
},
self
,
mf
.
id
(),
std
::
move
(
tmp
));
return
mf
;
return
mf
;
}
}
...
...
src/send.cpp
View file @
835f2900
...
@@ -41,13 +41,20 @@ void delayed_send_tuple(const channel_ptr& to,
...
@@ -41,13 +41,20 @@ void delayed_send_tuple(const channel_ptr& to,
}
}
void
delayed_reply_tuple
(
const
util
::
duration
&
rel_time
,
void
delayed_reply_tuple
(
const
util
::
duration
&
rel_time
,
actor_ptr
whom
,
message_id
mid
,
message_id
mid
,
any_tuple
data
)
{
any_tuple
data
)
{
auto
&
receiver
=
self
->
last_sender
();
if
(
whom
)
get_scheduler
()
->
delayed_reply
(
whom
,
if
(
receiver
)
get_scheduler
()
->
delayed_reply
(
receiver
,
rel_time
,
rel_time
,
mid
,
mid
,
std
::
move
(
data
));
std
::
move
(
data
));
}
void
delayed_reply_tuple
(
const
util
::
duration
&
rel_time
,
message_id
mid
,
any_tuple
data
)
{
delayed_reply_tuple
(
rel_time
,
self
->
last_sender
(),
mid
,
std
::
move
(
data
));
}
}
void
delayed_reply_tuple
(
const
util
::
duration
&
rel_time
,
any_tuple
data
)
{
void
delayed_reply_tuple
(
const
util
::
duration
&
rel_time
,
any_tuple
data
)
{
...
...
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