Skip to content

Commit

Permalink
fix summary tag
Browse files Browse the repository at this point in the history
  • Loading branch information
Aurimas Petrovas committed Sep 11, 2024
1 parent 5a7535e commit 430a1b2
Showing 1 changed file with 35 additions and 36 deletions.
71 changes: 35 additions & 36 deletions com.unity.ml-agents/Runtime/Communicator/ICommunicator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -91,42 +91,41 @@ internal struct UnityRLInputParameters
internal delegate void RLInputReceivedHandler(UnityRLInputParameters inputParams);

/// <summary>
/**
This is the interface of the Communicators.
This does not need to be modified nor implemented to create a Unity environment.
When the Unity Communicator is initialized, it will wait for the External Communicator
to be initialized as well. The two communicators will then exchange their first messages
that will usually contain information for initialization (information that does not need
to be resent at each new exchange).
By convention a Unity input is from External to Unity and a Unity output is from Unity to
External. Inputs and outputs are relative to Unity.
By convention, when the Unity Communicator and External Communicator call exchange, the
exchange is NOT simultaneous but sequential. This means that when a side of the
communication calls exchange, the other will receive the result of its previous
exchange call.
This is what happens when A calls exchange a single time:
A sends data_1 to B -> B receives data_1 -> B generates and sends data_2 -> A receives data_2
When A calls exchange, it sends data_1 and receives data_2
Since the messages are sent back and forth with exchange and simultaneously when calling
initialize, External sends two messages at initialization.
The structure of the messages is as follows:
UnityMessage
...Header
...UnityOutput
......UnityRLOutput
......UnityRLInitializationOutput
...UnityInput
......UnityRLInput
......UnityRLInitializationInput
UnityOutput and UnityInput can be extended to provide functionalities beyond RL
UnityRLOutput and UnityRLInput can be extended to provide new RL functionalities
*/
/// This is the interface of the Communicators.
/// This does not need to be modified nor implemented to create a Unity environment.
///
/// When the Unity Communicator is initialized, it will wait for the External Communicator
/// to be initialized as well. The two communicators will then exchange their first messages
/// that will usually contain information for initialization (information that does not need
/// to be resent at each new exchange).
///
/// By convention a Unity input is from External to Unity and a Unity output is from Unity to
/// External. Inputs and outputs are relative to Unity.
///
/// By convention, when the Unity Communicator and External Communicator call exchange, the
/// exchange is NOT simultaneous but sequential. This means that when a side of the
/// communication calls exchange, the other will receive the result of its previous
/// xchange call.
/// This is what happens when A calls exchange a single time:
/// A sends data_1 to B -> B receives data_1 -> B generates and sends data_2 -> A receives data_2
/// When A calls exchange, it sends data_1 and receives data_2
///
/// Since the messages are sent back and forth with exchange and simultaneously when calling
/// initialize, External sends two messages at initialization.
///
/// The structure of the messages is as follows:
/// UnityMessage
/// ...Header
/// ...UnityOutput
/// ......UnityRLOutput
/// ......UnityRLInitializationOutput
/// ...UnityInput
/// ......UnityRLInput
/// ......UnityRLInitializationInput
///
/// UnityOutput and UnityInput can be extended to provide functionalities beyond RL
/// UnityRLOutput and UnityRLInput can be extended to provide new RL functionalities
///
/// </summary>
public interface ICommunicator : IDisposable
{
Expand Down

0 comments on commit 430a1b2

Please sign in to comment.