nn::nex::DuplicatedObject::Update Member Function

Syntax

qResult Update(
     DataSet & refDataset
);

Parameters

Name Description
in refDataset Specifies the dataset to refresh.

Return Values



Value Description
QSUCCESS(Core, Success) The send request was successful.
QERROR(DOCore, InvalidRole) A station other than the duplication master made a call.
QERROR(Transport, ReliableSendBufferFull) The send buffer for reliable communication is full. (Even when this error is returned in this function, a fatal error that can be retrieved with NetZ::GetFatalError is not set.)
QERROR(Transport, InvalidSubStreamID) The SubStreamId specified with the DataSet::SetSubStreamID function is an invalid ID.
QERROR(Transport, PacketBufferFull) The available packet buffer is insufficient. (Even when this error is returned in this function, a fatal error that can be retrieved with NetZ::GetFatalError is not set.)

Description

Notifies duplicas in the session that the specified dataset content has been refreshed.

Only allow the duplication master to call this function.

A call of this function results in less communication than a refresh of all datasets. This function internally gets the CPU tick count. To get the best possible performance on CTR, we recommend getting the SessionClock value from a different location and explicitly specifying that value in an overloaded function.

When using reliable communication to send data, the ReliableSendBufferFull error is returned if all the send buffers used to send data to another station are full. Regardless of whether you are using reliable communication, when the packet buffer has insufficient space required for sending, the PacketBufferFull error is returned. The ReliableSendBufferFull and PacketBufferFull errors indicate that the send buffer was temporarily full. When these errors occur, dispatch the data and wait briefly before trying to send the data again. If PacketBufferFull occurs at a high frequency, take measures to increase the packet buffer. For more information about packet buffer settings, see PacketBufferManager.

When there is an error, it is guaranteed that the data will not reach all stations.

Revision History

2014/04/16
Changed the notation of the QRESULT_SUCCESS and QRESULT_ERROR return values to QSUCCESS and QERROR.
2012/12/10
Added QRESULT_ERROR(Transport, PacketBufferFull).
2012/09/06
Changed the functionality so that qResult is returned. Changed specifications so QRESULT_ERROR(Transport, ReliableSendBufferFull) is returned when the send buffer is full.
2012/01/27
Initial version.

CONFIDENTIAL