Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Eclipse Projects
Eclipse Titan
titan.EclipsePlug-ins
Commits
9c4dec98
Commit
9c4dec98
authored
Oct 12, 2017
by
Kristof Szabados
Committed by
Gerrit Code Review
Oct 12, 2017
Browse files
Merge "added stop to titanport"
parents
4f1bbac5
23904383
Changes
2
Hide whitespace changes
Inline
Side-by-side
org.eclipse.titan.designer/src/org/eclipse/titan/designer/AST/TTCN3/statements/Stop_Port_Statement.java
View file @
9c4dec98
...
...
@@ -7,6 +7,7 @@
******************************************************************************/
package
org.eclipse.titan.designer.AST.TTCN3.statements
;
import
java.text.MessageFormat
;
import
java.util.List
;
import
org.eclipse.titan.designer.AST.ASTVisitor
;
...
...
@@ -15,6 +16,7 @@ import org.eclipse.titan.designer.AST.Reference;
import
org.eclipse.titan.designer.AST.ReferenceFinder
;
import
org.eclipse.titan.designer.AST.ReferenceFinder.Hit
;
import
org.eclipse.titan.designer.AST.Scope
;
import
org.eclipse.titan.designer.compiler.JavaGenData
;
import
org.eclipse.titan.designer.parsers.CompilationTimeStamp
;
import
org.eclipse.titan.designer.parsers.ttcn3parser.ReParseException
;
import
org.eclipse.titan.designer.parsers.ttcn3parser.TTCN3ReparseUpdater
;
...
...
@@ -110,4 +112,10 @@ public final class Stop_Port_Statement extends Statement {
}
return
true
;
}
@Override
/** {@inheritDoc} */
public
void
generateCode
(
final
JavaGenData
aData
,
final
StringBuilder
source
)
{
source
.
append
(
MessageFormat
.
format
(
"{0}.stop();\n"
,
portReference
.
getRefdAssignment
(
getLastTimeChecked
(),
false
).
getGenName
()));
}
}
org.eclipse.titan.runtime/src/org/eclipse/titan/runtime/core/TitanPort.java
View file @
9c4dec98
...
...
@@ -163,9 +163,19 @@ public class TitanPort {
if
(!
is_active
)
{
throw
new
TtcnError
(
MessageFormat
.
format
(
"Internal error: Inactive port {0} cannot be stopped."
,
portName
));
}
//FIXME implement
is_started
=
false
;
userStop
();
if
(
is_started
)
{
is_started
=
false
;
is_halted
=
false
;
userStop
();
// dropping all messages from the queue because they cannot be extracted by receiving operations anymore
clearQueue
();
}
else
if
(
is_halted
)
{
is_halted
=
false
;
clearQueue
();
}
else
{
TtcnError
.
TtcnWarning
(
MessageFormat
.
format
(
"Performing stop operation on port {0}, which is already stopped. The operation has no effect."
,
portName
));
}
//TODO: TTCN_Logger::log_port_state
}
public
TitanAlt_Status
receive
(
final
TitanComponent_template
sender_template
,
final
TitanComponent
sender_pointer
)
{
...
...
@@ -641,7 +651,7 @@ public class TitanPort {
}
portName
=
name
;
}
public
void
log
()
{
TtcnLogger
.
log_event
(
"port %s"
,
portName
);
}
...
...
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