spelling: comments in src/System.Management.Automation/engine/remoting/client

This commit is contained in:
Josh Soref 2016-08-28 05:25:01 +00:00
parent 721abf09dc
commit 836101c1de
16 changed files with 72 additions and 72 deletions

View file

@ -610,7 +610,7 @@ namespace System.Management.Automation.Runspaces.Internal
/// PSRP layer.
/// </summary>
/// <param name="sender">Sender of this event, unused.</param>
/// <param name="e">Event arugments.</param>
/// <param name="e">Event arguments.</param>
private void HandleConnectCompleted(object sender, RemoteDataEventArgs<Exception> e)
{
// After initial connect/reconnect set state to "Running". Later events

View file

@ -570,7 +570,7 @@ namespace System.Management.Automation
/// <summary>
/// Wait Handle which is signaled when job is finished.
/// This is set when state of the job is set to Completed,
/// Stopped or Failied.
/// Stopped or Failed.
/// </summary>
public WaitHandle Finished
{
@ -1408,7 +1408,7 @@ namespace System.Management.Automation
}
#pragma warning disable 56500
//Exception rasied in the eventhandler are not error in job.
//Exception raised in the eventhandler are not error in job.
//silently ignore them.
try
{
@ -1778,7 +1778,7 @@ namespace System.Management.Automation
int throttleLimit, string name)
: base(remoteCommand, name)
{
// Create chiild jobs for each object in the list
// Create child jobs for each object in the list
for (int i = 0; i < remoteRunspaceInfos.Length; i++)
{
ExecutionCmdletHelperRunspace helper = (ExecutionCmdletHelperRunspace)runspaceHelpers[i];
@ -2661,7 +2661,7 @@ namespace System.Management.Automation
}
else
{
// Will have to raise OpertionComplete from here,
// Will have to raise OperationComplete from here,
// else ThrottleManager will have
SendStopComplete();
}
@ -4081,7 +4081,7 @@ namespace System.Management.Automation
/// <summary>
/// This job is used for running as a job the results from multiple
/// pipelines. This is used in synchronouse Invoke-Expression execution
/// pipelines. This is used in synchronous Invoke-Expression execution
/// </summary>
/// <remarks>
/// TODO: I am not sure whether to change this internal to just InvokeExpressionSyncJob.

View file

@ -45,7 +45,7 @@ namespace System.Management.Automation
/// <remarks>The following are some of the notes about
/// why the asynchronous operations are provided this way
/// in this class. There are two possible options in which
/// asynchornous support can be provided:
/// asynchronous support can be provided:
/// 1. Classical pattern (Begin and End)
/// 2. Event based pattern
///
@ -212,7 +212,7 @@ namespace System.Management.Automation
/// start a job. The job will be started with the parameters
/// specified in StartParameters
/// </summary>
/// <remarks>It is redudant to have a method named StartJob
/// <remarks>It is redundant to have a method named StartJob
/// on a job class. However, this is done so as to avoid
/// an FxCop violation "CA1716:IdentifiersShouldNotMatchKeywords"
/// Stop and Resume are reserved keyworks in C# and hence cannot
@ -257,7 +257,7 @@ namespace System.Management.Automation
}
/// <summary>
/// Method which can be exteded or called by derived
/// Method which can be extended or called by derived
/// classes to raise the event when suspending a
/// job is completed
/// </summary>
@ -801,7 +801,7 @@ namespace System.Management.Automation
catch (Exception e)
{
// These exceptions are thrown by third party code. Adding them here to the collection
// of execution errors to present consistant behavior of the object.
// of execution errors to present consistent behavior of the object.
ExecutionError.Add(new ErrorRecord(e, "ContainerParentJobStartError",
ErrorCategory.InvalidResult, child));
@ -985,7 +985,7 @@ namespace System.Management.Automation
catch (Exception e)
{
// These exceptions are thrown by third party code. Adding them here to the collection
// of execution errors to present consistant behavior of the object.
// of execution errors to present consistent behavior of the object.
ExecutionError.Add(new ErrorRecord(e, "ContainerParentJobResumeError",
ErrorCategory.InvalidResult, child));
@ -1221,7 +1221,7 @@ namespace System.Management.Automation
catch (Exception e)
{
// These exceptions are thrown by third party code. Adding them here to the collection
// of execution errors to present consistant behavior of the object.
// of execution errors to present consistent behavior of the object.
ExecutionError.Add(new ErrorRecord(e, "ContainerParentJobUnblockError",
ErrorCategory.InvalidResult, child));
@ -1390,7 +1390,7 @@ namespace System.Management.Automation
catch (Exception e)
{
// These exceptions are thrown by third party code. Adding them here to the collection
// of execution errors to present consistant behavior of the object.
// of execution errors to present consistent behavior of the object.
ExecutionError.Add(new ErrorRecord(e, "ContainerParentJobSuspendError",
ErrorCategory.InvalidResult, child));
@ -1563,7 +1563,7 @@ namespace System.Management.Automation
catch (Exception e)
{
// These exceptions are thrown by third party code. Adding them here to the collection
// of execution errors to present consistant behavior of the object.
// of execution errors to present consistent behavior of the object.
ExecutionError.Add(new ErrorRecord(e, "ContainerParentJobStopError",
ErrorCategory.InvalidResult, child));

View file

@ -181,7 +181,7 @@ namespace System.Management.Automation
/// <summary>
/// Creates a new job of the appropriate type given by JobDefinition passed in.
/// </summary>
/// <param name="definition">JobDefiniton defining the command.</param>
/// <param name="definition">JobDefinition defining the command.</param>
/// <returns>Job2 object of the appropriate type specified by the definition.</returns>
/// <exception cref="InvalidOperationException">If JobSourceAdapter type specified
/// in definition is not registered.</exception>

View file

@ -50,7 +50,7 @@ namespace System.Management.Automation
private string _moduleName;
/// <summary>
/// Module name for the module contianing
/// Module name for the module containing
/// the source adapter implementation.
/// </summary>
public string ModuleName
@ -169,7 +169,7 @@ namespace System.Management.Automation
/// be passed to a job so that the job can be
/// instantiated without having to specify
/// the parameters explicitly. Helps in
/// passivating job parameters to disk
/// passing job parameters to disk
/// </summary>
/// <remarks>This class is not required if
/// CommandParameterCollection adds a public

View file

@ -1128,7 +1128,7 @@ namespace System.Management.Automation
}
catch (Exception e)
{
// Trasfer exception via event arguments.
// Transfer exception via event arguments.
OnStopJobCompleted(new AsyncCompletedEventArgs(e, false, null));
}
break;
@ -1792,7 +1792,7 @@ namespace System.Management.Automation
ChildJobs.Count,
out computedJobState))
return;
if (computedJobState == JobState.Suspending) return; // Ignor for proxy job
if (computedJobState == JobState.Suspending) return; // Ignore for proxy job
_tracer.WriteMessage(ClassNameTrace, "HandleChildProxyJobStateChanged", Guid.Empty, this,
"storing job state to {0}", computedJobState.ToString());

View file

@ -55,7 +55,7 @@ namespace System.Management.Automation
private bool _disposed;
/// <summary>
/// Private object for thread-safe exection.
/// Private object for thread-safe execution.
/// </summary>
private readonly object _syncLock = new object();
@ -98,7 +98,7 @@ namespace System.Management.Automation
}
/// <summary>
/// Disope implementation.
/// Dispose implementation.
/// </summary>
public void Dispose()
{

View file

@ -41,10 +41,10 @@ namespace System.Management.Automation.Runspaces.Internal
/// The TypeTable to use while deserializing/serializing remote objects.
/// TypeTable has the following information used by serializer:
/// 1. SerializationMethod
/// 2. SerailizationDepth
/// 2. SerializationDepth
/// 3. SpecificSerializationProperties
/// TypeTable has the following inforamtion used by deserializer:
/// 1. TargetTypeForDeserializaiton
/// TypeTable has the following information used by deserializer:
/// 1. TargetTypeForDeserialization
/// 2. TypeConverter
/// </param>
/// <param name="host">Host associated with this runspacepool</param>
@ -134,7 +134,7 @@ namespace System.Management.Automation.Runspaces.Internal
this.instanceId = instanceId;
// This indicates that this is a disconnected remote runspace pool and min/max values
// are currently unkown. These values will be updated once the object is connected.
// are currently unknown. These values will be updated once the object is connected.
this.minPoolSz = -1;
this.maxPoolSz = -1;
@ -261,7 +261,7 @@ namespace System.Management.Automation.Runspaces.Internal
// same way it is set for runspaces.
availability = (AvailableForConnection) ?
RunspacePoolAvailability.None : // Disconnected runspacepool available for connection.
RunspacePoolAvailability.Busy; // Disconnected runspacepool unavailble for connection.
RunspacePoolAvailability.Busy; // Disconnected runspacepool unavailable for connection.
}
else
{
@ -518,7 +518,7 @@ namespace System.Management.Automation.Runspaces.Internal
if (raiseEvents)
{
// Private application data is senter after (post) connect. We need
// Private application data is sent after (post) connect. We need
// to wait for application data before raising the state change
// Connecting -> Opened event.
ThreadPool.QueueUserWorkItem(WaitAndRaiseConnectEventsProc, info);
@ -695,7 +695,7 @@ namespace System.Management.Automation.Runspaces.Internal
internal event EventHandler<RemoteDataEventArgs<RemoteHostCall>> HostCallReceived;
/// <summary>
/// EventHandler used to report connecion URI redirections to the application
/// EventHandler used to report connection URI redirections to the application
/// </summary>
internal event EventHandler<RemoteDataEventArgs<Uri>> URIRedirectionReported;

View file

@ -363,7 +363,7 @@ namespace System.Management.Automation.Remoting
}
/// <summary>
/// Overriden ToString() method
/// Overridden ToString() method
/// </summary>
/// <returns>returns the computername</returns>
public override string ToString()

View file

@ -359,7 +359,7 @@ namespace System.Management.Automation.Internal
/// Event raised when RunspacePoolInitInfo is received. This is the first runspace pool message expected
/// after connecting to an existing remote runspace pool. RemoteRunspacePoolInternal should use this
/// notification to set the state of a reconstructed runspace to "Opened State" and use the
/// minRusnpace and MaxRunspaces information to set its state
/// minRunspace and MaxRunspaces information to set its state
/// </summary>
internal event EventHandler<RemoteDataEventArgs<RunspacePoolInitInfo>> RSPoolInitInfoReceived;
@ -400,7 +400,7 @@ namespace System.Management.Automation.Internal
internal event EventHandler<RemoteDataEventArgs<PSObject>> SetMaxMinRunspacesResponseRecieved;
/// <summary>
/// EventHandler used to report connecion URI redirections to the application
/// EventHandler used to report connection URI redirections to the application
/// </summary>
internal event EventHandler<RemoteDataEventArgs<Uri>> URIRedirectionReported;
@ -490,7 +490,7 @@ namespace System.Management.Automation.Internal
lock (_syncObject)
{
//We are doing this check because Establised event
//We are doing this check because Established event
//is raised more than once
if (_createRunspaceCalled)
{
@ -1024,7 +1024,7 @@ namespace System.Management.Automation.Internal
/// <summary>
/// Event that is raised when a remote connection is successfully closed. The event is raised
/// from a WSMan transport thread. Since this thread can hold on to a HTTP
/// connection, the event handler should compelete processing as fast as possible.
/// connection, the event handler should complete processing as fast as possible.
/// Importantly the event handler should not generate any call that results in a
/// user request like host.ReadLine().
///
@ -1174,7 +1174,7 @@ namespace System.Management.Automation.Internal
{
// its possible that in client input data is written in a thread
// other than the current thread. Since we want to write input
// to the server in the order in which it was recieved, this
// to the server in the order in which it was received, this
// operation of writing to the server need to be synced
// Also we need to ensure that all the data currently available
// for enumeration are written out before any newly added data
@ -1351,7 +1351,7 @@ namespace System.Management.Automation.Internal
}
/// <summary>
/// Closes tranport manager.
/// Closes transport manager.
/// </summary>
internal void CloseConnectionAsync(Exception sessionCloseReason)
{
@ -1411,7 +1411,7 @@ namespace System.Management.Automation.Internal
/// This does not ensure that the corresponding session/runspacepool is in connected stated
/// Its the caller responsiblity to ensure that this is the case
/// At the protocols layers, this logic is delegated to the transport layer.
/// WSMan tranport ensures that WinRS commands cannot be reconnected when the parent shell is not in connected state
/// WSMan transport ensures that WinRS commands cannot be reconnected when the parent shell is not in connected state
/// </summary>
internal void ReconnectAsync()
{

View file

@ -135,7 +135,7 @@ namespace System.Management.Automation.Remoting
}
/// <summary>
/// Creates the PSCommand when the runspace is not overriden
/// Creates the PSCommand when the runspace is not overridden
/// </summary>
private PSCommand CreatePsCommandNotOverriden(string line, bool isScript, bool? useNewScope)
{

View file

@ -43,7 +43,7 @@ namespace System.Management.Automation.Remoting
internal RemoteSessionCapability ServerCapability { get; set; }
/// <summary>
/// This is the shellName which indentifies the PowerShell configuration to launch
/// This is the shellName which identifies the PowerShell configuration to launch
/// on remote machine.
/// </summary>
internal string ShellName { get; set; }
@ -75,7 +75,7 @@ namespace System.Management.Automation.Remoting
/// <summary>
/// Close the connection to the remote computer in an asynchronous manner.
/// Client side user can register an event handler with ConnectionClosed to minitor
/// Client side user can register an event handler with ConnectionClosed to monitor
/// the connection state.
/// </summary>
public abstract void CloseAsync();
@ -108,7 +108,7 @@ namespace System.Management.Automation.Remoting
#region URI Redirection
/// <summary>
/// Deleagate used to report connecion URI redirections to the application
/// Delegate used to report connection URI redirections to the application
/// </summary>
/// <param name="newURI">
/// New URI to which the connection is being redirected to.
@ -239,7 +239,7 @@ namespace System.Management.Automation.Remoting
/// </summary>
public override void CreateAsync()
{
//Raise a CreateSession event in StateMachine. This start the process of connection and negotition to a new remote session
//Raise a CreateSession event in StateMachine. This start the process of connection and negotiation to a new remote session
RemoteSessionStateMachineEventArgs startArg = new RemoteSessionStateMachineEventArgs(RemoteSessionEvent.CreateSession);
SessionDataStructureHandler.StateMachine.RaiseEvent(startArg);
}
@ -249,7 +249,7 @@ namespace System.Management.Automation.Remoting
/// </summary>
public override void ConnectAsync()
{
//Raise the connectsession event in statemachine. This start the process of connection and negotition to an existing remote session
//Raise the connectsession event in statemachine. This start the process of connection and negotiation to an existing remote session
RemoteSessionStateMachineEventArgs startArg = new RemoteSessionStateMachineEventArgs(RemoteSessionEvent.ConnectSession);
SessionDataStructureHandler.StateMachine.RaiseEvent(startArg);
}
@ -267,7 +267,7 @@ namespace System.Management.Automation.Remoting
}
/// <summary>
/// Temporaritly suspends connection to a connected remote session
/// Temporarily suspends connection to a connected remote session
/// </summary>
public override void DisconnectAsync()
{
@ -487,7 +487,7 @@ namespace System.Management.Automation.Remoting
/// Verifies the negotiation packet received from the server
/// </summary>
/// <param name="serverRemoteSessionCapability">
/// Capablities of remote session
/// Capabilities of remote session
/// </param>
/// <returns>
/// The method returns true if the capability negotiation is successful.
@ -567,7 +567,7 @@ namespace System.Management.Automation.Remoting
return true;
}
#endregion negotioation
#endregion negotiation
internal override RemotingDestination MySelf { get; }

View file

@ -577,7 +577,7 @@ namespace System.Management.Automation.Remoting
#region Event Handlers
/// <summary>
/// This is the handler for CreateSession event of the FSM. This is the begining of everything
/// This is the handler for CreateSession event of the FSM. This is the beginning of everything
/// else. From this moment on, the FSM will proceeds step by step to eventually reach
/// Established state or Closed state.
/// </summary>
@ -612,7 +612,7 @@ namespace System.Management.Automation.Remoting
/// <summary>
/// This is the handler for ConnectSession event of the FSM. This is the begining of everything
/// This is the handler for ConnectSession event of the FSM. This is the beginning of everything
/// else. From this moment on, the FSM will proceeds step by step to eventually reach
/// Established state or Closed state.
/// </summary>
@ -633,7 +633,7 @@ namespace System.Management.Automation.Remoting
if (State == RemoteSessionState.Idle)
{
//We need to send negotiotion and connect algorithm related info
//We need to send negotiation and connect algorithm related info
//Change state to let other DSHandlers add appropriate messages to be piggybacked on transport's Create payload
RemoteSessionStateMachineEventArgs sendingArg = new RemoteSessionStateMachineEventArgs(RemoteSessionEvent.NegotiationSendingOnConnect);
RaiseEvent(sendingArg);

View file

@ -636,7 +636,7 @@ namespace System.Management.Automation
/// <summary>
/// Disposes the pipeline
/// </summary>
/// <param name="disposing">true, when called on Dipose()</param>
/// <param name="disposing">true, when called on Dispose()</param>
protected override void Dispose(bool disposing)
{
try
@ -786,7 +786,7 @@ namespace System.Management.Automation
// using the copyStateInfo here as this piece of code is
// outside of lock and _pipelineStateInfo might get changed
// by two threads running concurrently..so its value is
// not gauranteed to be the same for this entire method call.
// not guaranteed to be the same for this entire method call.
// copyStateInfo is a local variable.
if (copyStateInfo.State == PipelineState.Completed ||
copyStateInfo.State == PipelineState.Failed ||
@ -835,7 +835,7 @@ namespace System.Management.Automation
_runspace.RaiseAvailabilityChangedEvent(queueItem.NewRunspaceAvailability);
}
//Exception rasied in the eventhandler are not error in pipeline.
//Exception raised in the eventhandler are not error in pipeline.
//silently ignore them.
if (stateChanged != null)
{

View file

@ -113,10 +113,10 @@ namespace System.Management.Automation
/// The TypeTable to use while deserializing/serializing remote objects.
/// TypeTable has the following information used by serializer:
/// 1. SerializationMethod
/// 2. SerailizationDepth
/// 2. SerializationDepth
/// 3. SpecificSerializationProperties
/// TypeTable has the following inforamtion used by deserializer:
/// 1. TargetTypeForDeserializaiton
/// TypeTable has the following information used by deserializer:
/// 1. TargetTypeForDeserialization
/// 2. TypeConverter
/// </param>
/// <param name="connectionInfo">connection information which identifies
@ -176,7 +176,7 @@ namespace System.Management.Automation
SetRunspaceState(RunspaceState.Disconnected, null);
// Normal Availability for a disconnected runspace is "None", which means it can be connected.
// However, we can also have disconnected runspace objects that are *not* avaialable for
// However, we can also have disconnected runspace objects that are *not* available for
// connection and in this case the Availability is set to "Busy".
_runspaceAvailability = RunspacePool.RemoteRunspacePoolInternal.AvailableForConnection ?
Runspaces.RunspaceAvailability.None : Runspaces.RunspaceAvailability.Busy;
@ -703,7 +703,7 @@ namespace System.Management.Automation
/// accidental dependencies on prior runspace state.
/// </summary>
/// <exception cref="PSInvalidOperationException">
/// Thrown when runspace is not in proper state or avaialablity or if the
/// Thrown when runspace is not in proper state or availability or if the
/// reset operation fails in the remote session.
/// </exception>
public override void ResetRunspaceState()
@ -1037,11 +1037,11 @@ namespace System.Management.Automation
/// <summary>
/// Createa a pipeline froma command string
/// Create a pipeline from a command string
/// </summary>
/// <param name="command">A valid command string</param>
/// <returns>
/// A pipline pre-filled with Commands specified in commandString.
/// A pipeline pre-filled with Commands specified in commandString.
/// </returns>
/// <exception cref="ArgumentNullException">
/// command is null
@ -1062,7 +1062,7 @@ namespace System.Management.Automation
/// <param name="command">A valid command string</param>
/// <param name="addToHistory">if true command is added to history</param>
/// <returns>
/// A pipline pre-filled with Commands specified in commandString.
/// A pipeline pre-filled with Commands specified in commandString.
/// </returns>
/// <exception cref="ArgumentNullException">
/// command is null
@ -1098,7 +1098,7 @@ namespace System.Management.Automation
/// <param name="command">A valid command string</param>
/// <param name="addToHistory">if true command is added to history</param>
/// <returns>
/// A pipline pre-filled with Commands specified in commandString.
/// A pipeline pre-filled with Commands specified in commandString.
/// </returns>
/// <exception cref="PSNotSupportedException">Not supported in remoting
/// scenarios</exception>
@ -1156,7 +1156,7 @@ namespace System.Management.Automation
throw e;
}
//Add the pipeline to list of Excuting pipeline.
//Add the pipeline to list of Executing pipeline.
//Note:_runningPipelines is always accessed with the lock so
//there is no need to create a synchronized version of list
_runningPipelines.Add(pipeline);
@ -1181,7 +1181,7 @@ namespace System.Management.Automation
Dbg.Assert(_runspaceStateInfo.State != RunspaceState.BeforeOpen,
"Runspace should not be before open when pipeline is running");
//Remove the pipeline to list of Excuting pipeline.
//Remove the pipeline to list of Executing pipeline.
//Note:_runningPipelines is always accessed with the lock so
//there is no need to create a synchronized version of list
_runningPipelines.Remove(pipeline);
@ -1255,7 +1255,7 @@ namespace System.Management.Automation
UpdateDisconnectExpiresOn();
// Application private data containing server debug state is updated on
// a *reconstruct* connect operation when _applicatPrivateData is null.
// a *reconstruct* connect operation when _applicationPrivateData is null.
// Pass new information to the debugger.
if (_applicationPrivateData == null)
{
@ -1719,7 +1719,7 @@ namespace System.Management.Automation
/// <summary>
/// Keeps track of the current invoke command executing
/// within the current local pipline
/// within the current local pipeline
/// </summary>
/// <param name="invokeCommand">reference to invoke command
/// which is currently being processed</param>
@ -1770,7 +1770,7 @@ namespace System.Management.Automation
internal RunspacePool RunspacePool { get; }
/// <summary>
/// EventHandler used to report connecion URI redirections to the application
/// EventHandler used to report connection URI redirections to the application
/// </summary>
internal event EventHandler<RemoteDataEventArgs<Uri>> URIRedirectionReported;

View file

@ -135,7 +135,7 @@ namespace System.Management.Automation.Remoting
private void HandleConnectComplete(object sender, EventArgs args)
{
//No-OP. Once the negotiation messages are exchanged and the session gets into established state,
//it will take care of spawning the receieve operation on the connected session
//it will take care of spawning the receive operation on the connected session
// There is however a caveat.
// A rouge remote server if it does not send the required negotiation data in the Connect Response,
// then the state machine can never get into the established state and the runspace can never get into a opened state
@ -309,7 +309,7 @@ namespace System.Management.Automation.Remoting
}
// Close the transport manager only after powershell's close their transports
// Powershell's close their transport using the ConnectionStateChaged event notification.
// Powershell's close their transport using the ConnectionStateChanged event notification.
if (arg.SessionStateInfo.State == RemoteSessionState.ClosingConnection)
{
CloseConnectionAsync();
@ -535,7 +535,7 @@ namespace System.Management.Automation.Remoting
/// </summary>
/// <param name="sender"></param>
/// <param name="dataArg">
/// arg which contains the data recevied from input queue
/// arg which contains the data received from input queue
/// </param>
internal void DispatchInputQueueData(object sender, RemoteDataEventArgs dataArg)
{
@ -575,7 +575,7 @@ namespace System.Management.Automation.Remoting
//Non Session messages do not change the state of the statemachine.
//However instead of forwarding them to Runspace/pipeline here, an
//event is raised in state machine which verified that state is
//suitable for accpeting these messages. if state is suitable statemachine
//suitable for accepting these messages. if state is suitable statemachine
//will call DoMessageForwading which will forward the messages appropriately
RemoteSessionStateMachineEventArgs msgRcvArg = new RemoteSessionStateMachineEventArgs(RemoteSessionEvent.MessageReceived, null);
if (StateMachine.CanByPassRaiseEvent(msgRcvArg))
@ -600,10 +600,10 @@ namespace System.Management.Automation.Remoting
/// <summary>
/// This processes the object received from transport which are
/// targetted for session
/// targeted for session
/// </summary>
/// <param name="arg">
/// argument containg the data object
/// argument contains the data object
/// </param>
private void ProcessSessionMessages(RemoteDataEventArgs arg)
{
@ -671,7 +671,7 @@ namespace System.Management.Automation.Remoting
/// <summary>
/// This processes the object received from transport which are
/// not targetted for session
/// not targeted for session
/// </summary>
/// <param name="rcvdData">
/// received data.