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

Syntax

qResult Update(
     const Time & tUpdateTime
);

Parameters

Name Description
in tUpdateTime Specifies the current session time.

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 content of all datasets has been updated.

Only allow the duplication master to call this function.

In this overloaded function, you can refresh by explicitly specifying the current SessionClock value. When you need to separately update a great many different duplicated objects, you can optimize by getting the SessionClock value outside of a loop and passing that value to this 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, you can guarantee that datasets for which there has been an error do not reach all stations, but datasets prior to the error do arrive.

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