Bug 467395 - support rtport
Summary: support rtport
Status: NEW
Alias: None
Product: Papyrus-rt
Classification: Modeling
Component: codegen (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 normal
Target Milestone: Future   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-05-15 06:53 EDT by Andrew Eidsness CLA
Modified: 2016-11-07 08:01 EST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Eidsness CLA 2015-05-15 06:53:40 EDT
In each transition code block, you have access to a variable called rtport which is a pointer to the (common base class) RTProtocol for the port on which the message which triggered this transition was received. The primary purpose of rtport is for replying to messages:

        rtport->ack().reply();

Also, apparently this is possible:

return RTOutSignal( &port, signal, msg->getData(), msg->getType() ).send();
Comment 1 Charles Rivet CLA 2016-02-22 14:43:26 EST
Tuleap work item 12876
Comment 2 Ernesto Posse CLA 2016-05-16 17:21:48 EDT
Change milestone to 1.0.1 as invoke/reply is not part of 1.0.
Comment 3 Charles Rivet CLA 2016-10-31 11:09:07 EDT
Scope too large for a bugfix - additional functionality to add.
Priority of 0 in Tuleap.
Moving to "Future".
Comment 4 Peter Cigehn CLA 2016-11-07 04:47:48 EST
(In reply to Ernesto Posse from comment #2)
> Change milestone to 1.0.1 as invoke/reply is not part of 1.0.

(In reply to Charles Rivet from comment #3)
> Scope too large for a bugfix - additional functionality to add.
> Priority of 0 in Tuleap.
> Moving to "Future".

Just to clarify: The use of rport is not necessarily limited to the use of synchronous message passing using invoke/reply, but also for responding to ordinary asynchronous messages. So I am not sure if the original reason for not including rtport in 1.0 due to that invoke/reply is not included in 1.0 was really a valid argument.

With that said, maybe rtport should be not be included in 1.0 anyway. But the reason for not including it should not really be based on whether invoke/reply is included or not, since rtport is useful in other scenarios as well.
Comment 5 Charles Rivet CLA 2016-11-07 08:01:53 EST
(In reply to Peter Cigehn from comment #4)
> (In reply to Ernesto Posse from comment #2)
> > Change milestone to 1.0.1 as invoke/reply is not part of 1.0.
> 
> (In reply to Charles Rivet from comment #3)
> > Scope too large for a bugfix - additional functionality to add.
> > Priority of 0 in Tuleap.
> > Moving to "Future".
> 
> Just to clarify: The use of rport is not necessarily limited to the use of
> synchronous message passing using invoke/reply, but also for responding to
> ordinary asynchronous messages. So I am not sure if the original reason for
> not including rtport in 1.0 due to that invoke/reply is not included in 1.0
> was really a valid argument.
> 
> With that said, maybe rtport should be not be included in 1.0 anyway. But
> the reason for not including it should not really be based on whether
> invoke/reply is included or not, since rtport is useful in other scenarios
> as well.

Agreed. The move to future is not based on invoke/reply, but on the factors I listed in my comment (plus the workaround, if it still works). This can be reconsidered if any of those factor change.