INSA
  • Tutorials
  • Documentation
  • Api Documentation
  • Changelog
Show / Hide Table of Contents
  • Relations
    • Xareus.Relations
      • IEngine
      • IObject
      • IObjectType
      • IRelation
      • Object
      • ObjectMatch
      • ObjectPattern
      • ObjectQueryParameters
      • ObjectType
      • PatternType
      • Realization
      • RealizationQueryParameters
      • Reference
      • Relation
      • Type
      • TypeMatch
      • TypeSearch
    • Xareus.Relations.CSharp
      • Engine
    • Xareus.Relations.Extra
      • Helper
      • IRunnableRelation
      • ObjectPatternAttribute
    • Xareus.Relations.Tests
      • Bolt
      • Inheritance
      • RelationsTests
      • S3PM
    • Xareus.Relations.Tests.CSharp
      • EngineTest
    • Xareus.Relations.Utilities
      • Extensions
  • Scenarios
    • Xareus.Scenarios
      • AFunction
      • ASequence
      • Assignment
      • ComplexSequence
      • Decision
      • DecisionEvent
      • DecisionTree
      • Decoration
      • Event
      • Event.EffectorData
      • Event.SensorData
      • Extendable
      • ExtendedInfo
      • ExternalScenario
      • Function
      • IValueParser
      • Identifiable
      • InitialSequence
      • Net
      • Node
      • NodeUserData
      • Parameter
      • Place
      • ProxySequence
      • Reference
      • SMTransition
      • SafePetriNet
      • Scenario
      • ScenarioLoadedEventArgs
      • ScenarioLoadingParameters
      • ScenarioState
      • SequenceState
      • SetValueInContextEffector
      • SimpleSequence
      • State
      • StateMachine
      • Transition
      • TransitionFiredEventArgs
      • TypedValue
      • ValueParser
    • Xareus.Scenarios.Arithmetics
      • NumberBetweenSensor
      • NumberEffector
      • NumberEffector.ArithmeticalOperator
      • NumberSensor
      • NumberSensor.ComparisonOperator
      • RandomNumberEffector
      • Utils
    • Xareus.Scenarios.AssignmentEval
      • AAssignmentEval
    • Xareus.Scenarios.Boolean
      • BooleanEffector
      • BooleanEffector.LogicalOperator
      • BooleanSensor
      • BooleanSensor.ComparisonOperator
    • Xareus.Scenarios.Context
      • BackwardCompatibilityContext
      • BackwardCompatibilityContext.ParserDelegate
      • ContextType
      • IContext
      • Map
      • SimpleDictionary
      • Trie
    • Xareus.Scenarios.ContextInit
      • AContextInit
      • DefaultContextInit
    • Xareus.Scenarios.Converter
      • BoolConverter
      • ByteConverter
      • CharConverter
      • DoubleConverter
      • FloatConverter
      • IntConverter
      • LongConverter
      • PlaceConverter
      • PrimitiveConverter
      • SByteConverter
      • SMTransitionConverter
      • SafePetriNetConverter
      • ScenarioStateConverter
      • ScenarioVariablePathConverter
      • SequenceStateConverter
      • ShortConverter
      • StateConverter
      • StateMachineConverter
      • TransitionConverter
      • UIntConverter
      • ULongConverter
      • UShortConverter
      • VariableConverter
      • VariablePathConverter
    • Xareus.Scenarios.Converters
      • ArrayConverter
      • CollectionConverter
      • StringConverter
      • TypeConverter
    • Xareus.Scenarios.Effector
      • AEffector
    • Xareus.Scenarios.Exception
      • InvalidDataException
      • InvalidStateException
    • Xareus.Scenarios.Extra
      • AssignmentOverlap
      • DefaultTokenUpdate
      • DefaultTokenUpdate.TokenData
      • DownstreamSequenceList
      • EventSensor
      • ExtendedInfoHelper
      • SelectFromListEffector
      • SequenceList
      • TransitionFiredSensor
      • UpstreamSequenceList
      • VariableExistsSensor
    • Xareus.Scenarios.Extra.Time
      • WaitEffector
    • Xareus.Scenarios.FinalTokenMerge
      • AFinalTokenMerge
      • CopyAllTokens
      • PickFirst
    • Xareus.Scenarios.Network
      • AScenarioSender
      • INetSocketTcp
      • NetSocketTcpScenarioReceiver
      • NetSocketTcpScenarioSender
      • NetSocketTcpScenarioSender.ClientNewScenarioRegistration
      • NetSocketTcpScenarioSender.ClientUpdateRegistration
      • NetSocketTcpUtils
      • NetSocketTcpUtils.ReceiveState
    • Xareus.Scenarios.Network.Tests
      • NetworkTest
    • Xareus.Scenarios.ScenarioManipulation
      • AddTokenToSequencesEffector
      • AddTokenToSequencesEffector.TokenData
      • LoadScenarioStateEffector
      • LoadScenarioStateFromFileEffector
      • LoadSequenceStateEffector
      • LoadSequenceStateFromFileEffector
      • RemoveTokensFromSequencesEffector
      • SaveScenarioStateEffector
      • SaveScenarioStateInFileEffector
      • SaveSequenceStateEffector
      • SaveSequenceStateInFileEffector
    • Xareus.Scenarios.Sensor
      • ASensor
      • ASensor.Result
    • Xareus.Scenarios.Tests
      • ConfigurationParameterTest
      • ConvertersTests
      • IContextTest
      • ParserTest
      • ProgramTest
      • ScenarioManipulationTests
      • ScenarioTest
      • TypeTest
      • TypeTest.OverrideClass
    • Xareus.Scenarios.Time
      • RandomTimeSensor
      • TimeParametersConverter
      • TimeSensor
      • TimeUnit
      • TimeUtils
    • Xareus.Scenarios.TokenAssign
      • ATokenAssign
      • DoNothing
    • Xareus.Scenarios.TokenInit
      • ATokenInit
      • DefaultTokenInit
      • EmptyTokenInit
    • Xareus.Scenarios.TokenMerge
      • ATokenMerge
      • CopyAllTokens
      • PickFirst
    • Xareus.Scenarios.TokenSplit
      • ATokenSplit
    • Xareus.Scenarios.Utilities
      • BackwardCompatibilityManager
      • ConfigurationParameterAttribute
      • ContextVariableAttribute
      • EventContextEntryAttribute
      • FunctionDescriptionAttribute
      • FunctionManager
      • IFunctionParametersConverter
      • IRenameClass
      • IRenamedProvider
      • Necessity
      • ObsoleteUtils
      • OverrideClassAttribute
      • ParameterChecker
      • RenamedAttribute
      • RenamedManagerBase
      • RenamedTypeUtils
      • RuntimeTools
      • TypeConverterForAttribute
    • Xareus.Scenarios.Variables
      • ContextVariable<T>
      • EventVariablePath
      • ExternalContextVariablePath
      • ScenarioVariablePath
      • TokenVariablePath
      • Variable
      • VariablePath
  • Scenarios.Relations
      • Program
    • Xareus.Scenarios.Relations
      • Action
      • ActionLogEffector
      • ActionRecordEffector
      • ActionRecorder
      • AnyRelationSensor
      • Change
      • Environment
      • Execution
      • IRealizationManager
      • InitializeRecorderEffector
      • RealizationContext
      • RealizationManager
      • RealizationRecord
      • RelationEffector
      • RelationSensor
      • RelationsValueParser
      • RenamedProvider
      • WriteActionRecordEffector
    • Xareus.Scenarios.Relations.TypeConverter
      • FiveObjectConverter
      • RealizationConverter
      • RelationConverter
  • Utils
    • Xareus.Utils
      • AssemblyUtils
      • DatedEventManager<DataType, TimeType>
      • DatedEventManager<DataType, TimeType>.EventRecord
      • Extensions
      • FieldsAndPropertiesContainer
      • MemberUtils
      • Serialization
      • TypeUtils
      • UriUtils
    • Xareus.Utils.Tests
      • DatedEventManagerTest
      • DatedEventManagerTest.TestDatedEventManager
      • ExtensionsTests
      • MemberUtilsTest
      • TypeUtilsTests
      • TypeUtilsTests.DummySensor
      • TypeUtilsTests.GenericClassUser
      • TypeUtilsTests.GenericClass<T>
      • UriUtilsTest
  • Unity
    • FIVE.Unity
      • UFManager
      • UFRelationEngine
      • UFScenarioEngineKernel
    • Xareus.Unity
      • GameObjectExtension
      • Log4netFileAppender
      • Log4netUnityAppender
      • XULog4net
      • XareusManager
    • Xareus.Unity.Converters
      • ColorConverter
      • MemberInfoConverter
      • MethodInfoConverter
      • QuaternionConverter
      • UnityObjectConverter
      • Vector2Converter
      • Vector2IntConverter
      • Vector3Converter
      • Vector3IntConverter
      • Vector4Converter
      • VectorConverter
    • Xareus.Unity.TypeDescriptorContext
      • DictionaryDescriptorContext
      • SimpleTypeDescriptorContext<T>
      • UnityObjectDescriptorContext
  • Unity Relations
    • Xareus.Relations.Scenarios.Unity
      • TypeWithScenario
    • Xareus.Relations.Unity
      • BaseEditorDescriptorAttribute
      • GenerationMode
      • IRelationEngine
      • IdentifiableBehaviour
      • ObjectPatternAttribute
      • ObjectPatternDescriptorAttribute
      • ObjectQueryWithCallback
      • ParameterDescriptorAttribute
      • RealizationQueryWithCallback
      • RelationDescriptorAttribute
      • RelationEngine
      • RelationEngineKernel
      • RelationParameters
      • Serializer
      • TypeDescriptorAttribute
      • TypeMember
      • TypeParentAttribute
      • UniqueIDGenerator
      • XUObject
      • XUObject.XuObjectChanged
      • XUObjectPattern
      • XUObjectQueryParameters
      • XURealization
      • XURealizationQueryParameters
      • XURelation
      • XUType
      • XUTypeSearch
    • Xareus.Relations.Unity.Converters
      • XUObjectConverter
      • XURelationTypeConverter
      • XUTypeConverter
  • Unity Scenarios
      • ABaseScenarioElementUI
      • DecisionTreeUI
    • Xareus.Scenarios.Network.Unity
      • NetworkClient
      • NetworkManager
      • NetworkServer
      • UnityNetSocketTcpScenarioReceiver
      • UnityNetSocketTcpScenarioSender
    • Xareus.Scenarios.Unity
      • AInUnityStepSensor
      • AUnityContextInit
      • AUnityEffector
      • AUnitySensor
      • AUnityTokenAssign
      • AdditionalScenarioFile
      • AdvancedConfigurationParameterAttribute
      • Comment
      • DecisionTreeEvaluation
      • ExternalContextEntryAttribute
      • IScenarioEngine
      • ObsoleteFunctionAttribute
      • ObsoleteFunctionAttribute.ParameterConvesion
      • RuntimeScenarioFileRegistry
      • ScenarioEngine
      • ScenarioEngineKernel
      • ScenarioRunner
      • Section
    • Xareus.Scenarios.Unity.Edition
      • BusinessControl
      • Constants
      • ContextVariableManager
      • ContextVariableManager.SerializedContextVariables
      • IScenarioSerializer
      • IToolbarEntryData
      • Layer
      • Layer.UxmlFactory
      • Layer.UxmlTraits
      • LayerBar
      • LayerBar.UxmlFactory
      • LayerBar.UxmlTraits
      • LayerBarButton
      • LayerBarButton.UxmlFactory
      • LayerBarButton.UxmlTraits
      • ScenarioEditorExtendedInfoUpdater
      • ScenarioSerializer
      • ScenarioTabHandler
      • ScenarioTabHandler.LayerViewData
      • ScenarioTabHandler.LayerViewDataDictionary
      • ScenarioWrapper
      • ScenarioWrapper.ScenarioDataConsumers
      • SequenceType
      • SerializableScenario
      • Tab
      • Tab.UxmlFactory
      • Tab.UxmlTraits
      • ThemeManager
      • ThemeManager.ThemeChange
      • XmlUtils
    • Xareus.Scenarios.Unity.Edition.Events
      • ArcCreatedEvent
      • ArcDeletedEvent
      • ArcStartedEvent
      • CreateContextToFireEvent
      • DeselectedEventArgs
      • EventCallbackFunctor<EventType>
      • IEventCallbackFunctor
      • IScenarioEventHandler
      • IdChangeEvent
      • LabelChangeEvent
      • OpenExternalScenarioEventArgs
      • ScenarioDataChangedEventArgs
    • Xareus.Scenarios.Unity.Edition.UI
      • ABaseArcUI
      • AClickableElementUI
      • ADecisionArcPreviewUI
      • AMovableElementUI
      • AMovableElementUI.MovableElementUIMoved
      • ArcDirectionUI
      • ArcPreviewUI
      • ArcUI
      • ArrowToNodesDirectionUI
      • ArrowToNodesUI
      • BackgroundGrid
      • CanvasUI
      • CanvasUI.UxmlFactory
      • CanvasUI.UxmlTraits
      • CommentUI
      • ComplexSequenceUI
      • DecisionArcUI
      • DecisionNodeUI
      • DecisionUI
      • EffectorUI
      • ExternalScenarioUI
      • FalseDecisionArcPreviewUI
      • FalseDecisionArcUI
      • FalseOutUI
      • FinalUI
      • InitialUI
      • LayerUI
      • NodeUI
      • PartialTokenUI
      • PetriNetUI
      • PlaceUI
      • SMTransitionUI
      • SectionUI
      • SensorUI
      • SequenceUI
      • StateMachineUI
      • StateUI
      • TokenAssignUI
      • TokenMergeUI
      • TokenUI
      • TransitionUI
      • TrueDecisionArcPreviewUI
      • TrueDecisionArcUI
      • TrueOutUI
    • Xareus.Scenarios.Unity.MiddleVR
      • AUnityClusterEffector
      • VRCall
    • Xareus.Scenarios.Unity.Providers
      • IClassConstraintableExtension
      • IClassReceiverExtension
      • IConstraintable
      • IConstraintable<T>
      • IProvider
      • IProvider<T>
      • IReceiver
      • IReceiver<T>
      • ProvideConstraintAttribute
      • ProviderAttribute
      • ValueChangedEventArgs<T>
    • Xareus.Scenarios.Unity.VisualScripting
      • Constants
      • VisualScriptHolder
      • VisualScriptingEffector
      • VisualScriptingSensor
  • Unity Utils
    • Xareus.Unity
      • MethodParameters
    • Xareus.Unity.Utils
      • ClassTemplate
      • ClusterUtils
      • ColorUtils
      • FileUtils
      • StringUtils
      • UnityEditorUtils
      • UnityUtils
  • Unity Librairies
    • Xareus
      • StaticClassMemberValueSensor
    • Xareus.Relations.Scenarios
      • CheckTypeWithScenarioMemberValueSensor
      • InvokeTypeWithScenarioMethodEffector
      • SetTypeWithScenarioMemberValueEffector
    • Xareus.Scenarios.Input
      • KeyPressedSensor
    • Xareus.Scenarios.Relations
      • CheckXareusObjectTypeMemberValueSensor
      • CheckXareusTypeMemberValueSensor
      • CompareXareusTypesMembersValuesSensor
      • InvokeXareusObjectMethodEffector
      • RandomXareusObjectEffector
      • RandomXareusObjectEffector.Result
      • RandomXareusObjectWithTypeEffector
      • SelectXareusTypesFromListEffector
      • SetXareusTypeMemberValueEffector
    • Xareus.Scenarios.Relations.ParametersConverter
      • CheckXareusTypeMemberValueSensorConverter
      • CompareXareusTypesMembersValuesSensorConverter
      • TypeValueSensorParametersConverter
    • Xareus.Scenarios.Time.Unity
      • UnityTimeSensor
      • UnityTimeSensor.TimeType
    • Xareus.Scenarios.Unity
      • AInvokeMethodEffector
      • AnyInputSensor
      • ChangeColorEffector
      • ChangeParentEffector
      • ChangeTextEffector
      • CheckMemberValueSensor
      • CompareMembersValuesSensor
      • DistanceSensor
      • HasComponentOfTypeSensor
      • InvokeStaticMethodEffector
      • InvokeUnityObjectMethodEffector
      • LoadSceneEffector
      • LogEffector
      • ObjectClickedSensor
      • ObjectCollisionSensor
      • PlaySoundEffector
      • SceneLoadedSensor
      • ScreenFadeEffector
      • ScreenFadeEffector.FadeType
      • SelectChildObjects
      • SelectComponents
      • SetActiveEffector
      • SetEnabledEffector
      • SetMemberValueEffector
      • StartDisplaySpriteEffector
      • StartDisplayTextAssetEffector
      • StartDisplayVideoClipEffector
      • StopAudioSourceEffector
      • StopDisplaySpriteEffector
      • StopDisplayTextAssetEffector
      • StopDisplayVideoClipEffector
      • UnityEventSensor
      • UnityNumberSensor
    • Xareus.Scenarios.Unity.UI
      • ButtonClickedSensor
      • DropdownSensor
      • ToggleValueSensor
      • ToggleValueSensor.SelectMode
    • Xareus.Scenarios.Unity.Utils
      • CompareMembersValuesSensorUpdater
      • ObjectCollisionSensorUpdater
    • Xareus.Unity
      • CheckMethodReturnValueSensor
      • DefaultUnityContextInit
      • DefaultUnityTokenUpdate
      • ScreenFadeEffect
      • SetValueInContextEffector
      • UFEOtherTrigger

Class NetSocketTcpScenarioSender

Implementation of a ScenarioSender using .Net sockets over TCP

Inheritance
object
AScenarioSender
NetSocketTcpScenarioSender
Implements
INetSocketTcp
IDisposable
Inherited Members
AScenarioSender.Scenarios
AScenarioSender.RegisterToScenario(Scenario)
AScenarioSender.UnregisterFromScenario(string)
AScenarioSender.InternalScenarioChange(object, EventArgs)
AScenarioSender.InternalTransitionFired(object, TransitionFiredEventArgs)
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Xareus.Scenarios.Network
Assembly: Xareus.Scenarios.Network.dll
Syntax
public class NetSocketTcpScenarioSender : AScenarioSender, INetSocketTcp, IDisposable

Fields

clientsRegistrations

Declaration
protected Dictionary<string, List<NetSocketTcpScenarioSender.ClientUpdateRegistration>> clientsRegistrations
Field Value
Type Description
Dictionary<string, List<NetSocketTcpScenarioSender.ClientUpdateRegistration>>

clientsRegistrationsForNewScenarios

Declaration
protected List<NetSocketTcpScenarioSender.ClientNewScenarioRegistration> clientsRegistrationsForNewScenarios
Field Value
Type Description
List<NetSocketTcpScenarioSender.ClientNewScenarioRegistration>

serverSocket

Declaration
protected TcpListener serverSocket
Field Value
Type Description
TcpListener

Properties

IsListening

Is the server currently listening (i.e. waiting for receivers)

Declaration
public bool IsListening { get; }
Property Value
Type Description
bool

IsReceiving

Declaration
public bool IsReceiving { get; set; }
Property Value
Type Description
bool

OnConnected

Event fired when a receiver connected

Declaration
public EventHandler OnConnected { get; set; }
Property Value
Type Description
EventHandler

OnDisconnected

Event fired when a receiver disconnects

Declaration
public EventHandler OnDisconnected { get; set; }
Property Value
Type Description
EventHandler

Methods

AcceptCallback(IAsyncResult)

This is the method called when a new receiver connected

Declaration
protected virtual void AcceptCallback(IAsyncResult ar)
Parameters
Type Name Description
IAsyncResult ar

ConvertToParameter<T>(T, IContext)

Convert an object to a parameter using the given external context

Declaration
protected virtual Parameter ConvertToParameter<T>(T eventContext, IContext externalContext)
Parameters
Type Name Description
T eventContext
IContext externalContext
Returns
Type Description
Parameter
Type Parameters
Name Description
T

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

Declaration
public void Dispose()

Dispose(bool)

Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type Name Description
bool disposing

~NetSocketTcpScenarioSender()

Declaration
protected ~NetSocketTcpScenarioSender()

HandleClientRequest(TcpClient, string)

Handle client requests

Declaration
protected virtual void HandleClientRequest(TcpClient client, string data)
Parameters
Type Name Description
TcpClient client
string data

PostRegisterToScenario(Scenario)

PostRegisterToScenario(Scenario)

Declaration
protected override void PostRegisterToScenario(Scenario scenario)
Parameters
Type Name Description
Scenario scenario
Overrides
AScenarioSender.PostRegisterToScenario(Scenario)

ScenarioChange(string, ScenarioState)

ScenarioChange(string, ScenarioState) When a scenario changes, warn all receiver that registered previously

Declaration
protected override void ScenarioChange(string scenarioInstanceId, ScenarioState scenarioState)
Parameters
Type Name Description
string scenarioInstanceId
ScenarioState scenarioState
Overrides
AScenarioSender.ScenarioChange(string, ScenarioState)

SendExternalScenarios(Scenario, TcpClient)

Send all external scenarios of the current scenario. No need for recursion, we check all the sequences.

Declaration
protected virtual void SendExternalScenarios(Scenario scenarioToSend, TcpClient client)
Parameters
Type Name Description
Scenario scenarioToSend
TcpClient client

StartListenTask(CancellationTokenSource)

This is the task where the Sender wait for new receivers to connect

Declaration
protected void StartListenTask(CancellationTokenSource tokenSource = null)
Parameters
Type Name Description
CancellationTokenSource tokenSource

StartServer(int)

Start the server (listening for receivers) on the given port

Declaration
public void StartServer(int port = 7777)
Parameters
Type Name Description
int port

StopServer()

Stop the server

Declaration
public void StopServer()

TransitionFired(string, Transition, IContext, IContext, IContext, IContext)

TransitionFired(string, Transition, IContext, IContext, IContext, IContext) When a transition is fired, warn all receiver that registered previously

Declaration
protected override void TransitionFired(string scenarioInstanceId, Transition transition, IContext externalContext, IContext scenarioContext, IContext sequenceContext, IContext eventContext)
Parameters
Type Name Description
string scenarioInstanceId
Transition transition

The transition

IContext externalContext
IContext scenarioContext
IContext sequenceContext
IContext eventContext
Overrides
AScenarioSender.TransitionFired(string, Transition, IContext, IContext, IContext, IContext)

Events

OnConnectedEvent

Event fired when a receiver connected

Declaration
public event EventHandler OnConnectedEvent
Event Type
Type Description
EventHandler

OnDisconnectedEvent

Event fired when a receiver disconnects

Declaration
public event EventHandler OnDisconnectedEvent
Event Type
Type Description
EventHandler

Implements

INetSocketTcp
IDisposable
INSA     IRISA     Inria     Ouest Valorisation Back to top