Revision Difference
SteamInventory.DeserializeAsync#519806
<member type="method" namespace="Steamworks" parent="SteamInventory" name="DeserializeAsync" async="true" static="true">
<args>
<arg name="data" type="byte[]"></arg>
<arg name="dataLength" type="int" default="-1"></arg>
</args>
<return type="Task<Nullable<Steamworks.InventoryResult>>"></return>⤶
<return type="Task<Nullable<InventoryResult>>"></return>⤶
<summary>Deserializes a result set and verifies the signature bytes.
This call has a potential soft-failure mode where the Result is expired, it will
still succeed in this mode.The "expired"
result could indicate that the data may be out of date - not just due to timed
expiration( one hour ), but also because one of the items in the result set may
have been traded or consumed since the result set was generated.You could compare
the timestamp from GetResultTimestamp to ISteamUtils::GetServerRealTime to determine
how old the data is. You could simply ignore the "expired" result code and
continue as normal, or you could request the player with expired data to send
an updated result set.
You should call CheckResultSteamID on the result handle when it completes to verify
that a remote player is not pretending to have a different user's inventory.</summary>
</member>