CTR Pia  4.11.3
Game Communication Engine
Revision History
Namespace nn::pia

2014-10-29 Added ResultNexInternalError.

2014-09-12 Added ResultSessionConnectionIsLost, ResultInProgress, and ResultNotSet.

2014-09-11 Consolidated all of the Pia Results into this header file.

2014-07-16 Added ResultTemporaryUnavailable.

2013-03-26 Added MODULE_TYPE_DB.

2012-07-25 The NN_PIA_ENABLE_TRACE macro is now also set to a valid value in Development builds.

2012-07-18 Added information about DESCRIPTION_BUFFER_IS_FULL and ResultBufferIsFull.

2012-07-12 Added MODULE_TYPE_UTIL.

2012-07-10 Deleted old Result definitions that had been kept for compatibility.

2012-04-05 Merged generic Result values used in each module. They are now defined in the nn::pia namespace.

2011-11-17 Excluding some exceptions, noted that the Pia API is not guaranteed to be thread-safe.

2011-11-14 Expanded on the documentation of ModuleType and ErrorSeverity.

2011-11-08 Created a page for the nn::pia namespace.

Namespace nn::pia::chat

2015-09-02 Corrected the documentation, which omitted mentioning that ResultInvalidState is returned if Initialize() is called when PiaCommon is not initialized.

2013-04-24 Initial version.

Class nn::pia::chat::VoiceProtocol

2015-09-01 If the client specified for RemoveConferenceClient() cannot be found, the function now returns ResultNotFound instead of ResultInvalidArgument.

2015-09-01 If an invalid argument is given to Send(), the function now returns ResultInvalidArgument.

2015-09-01 If there is no audio data to get when Receive() is called, the function now returns ResultNoData.

2015-08-05 Added notes to the SetVADClampGain() and Send() functions.

2015-05-18 Made the GetVADPower function public.

2015-01-15 Changed the type of the third parameter of the Receive function to nn::pia::StationIndex*.

2014-11-20 Added information about the thread-safe APIs.

2014-05-12 Made the IsClientInConference function private.

2014-05-07 Expanded the Setting structure to include a parameter that allows you to configure the maximum number of stations that can participate in a conference chat.

2014-01-30 Specifying 2-bit ADPCM as the sound codec for main packets is no longer supported.

2014-01-30 Quality alert-related API functions have been made private.

2014-01-23 Changed the specifications so that the SetVADClampGain function returns nn::Result.

2014-01-23 Changed the specifications so that the SetQualityAlertThresholdRate function returns nn::Result.

2014-01-23 Changed the specifications so that calling the SetAudioFrameLength function in a state where communication is not occurring results in ResultInvalidState being returned.

2014-01-22 Added the IsInCommunication member function to determine whether communication is taking place.

2014-01-22 Changed the specifications so that the SetCodec function returns ResultInvalidState when in a state where communication is not occurring.

2013-10-02 Added a member function to set the number of receive buffers for UnreliableProtocol to the Setting structure.

2013-10-02 Stopped using ReliableProtocol internally.

2013-07-12 Defined various constants and enumerations.

2013-07-12 Ported set and get functions for various parameters.

2013-06-18 Initial version.

2014-02-26 Changed the specifications so that the high-pass filter is enabled by default.

2014-02-25 Corrected an incorrect default value in the description of the SetVADActiveGain function.

Namespace nn::pia::clone
2013-07-18 Initial version.
Class nn::pia::clone::AtomicSharingClone
2013-09-25 Initial version.
Class nn::pia::clone::CloneBase

2013-11-25 Added a profiling feature.

2013-07-18 Initial version.

Class nn::pia::clone::CloneElementBase

2013-11-25 Added a profiling feature.

2013-07-18 Initial version.

Class nn::pia::clone::CloneProfiler< STATION_NUM, LATEST_BUFFER_SIZE >
2013-11-25 Initial version.
Class nn::pia::clone::CloneProfilerBase
2013-11-25 Initial version.
Class nn::pia::clone::CloneProtocol

2014-08-01 Changed specifications specific to the arguments and success conditions for the RegisterReceiveClone, UnregisterReceiveClone, and SearchReceiveClone functions.

2014-07-17 Changed specifications specific to success conditions for the RegisterReceiveClone, UnregisterReceiveClone, and SearchReceiveClone functions.

2014-07-17 Changed the names of the SetDefermentPeriod and GetDefermentPeriod functions to the SetMaxSendDelay and GetMaxSendDelay functions, respectively.

2014-01-30 Added constants to specify the compression level of synchronization data, and made any other compression levels unsupported.

2013-11-25 Added a profiling feature.

2013-11-19 Corrected the spelling of Setting::m_RegulationRate.

2013-07-18 Initial version.

Class nn::pia::clone::EventCloneElement< Value_, BUFFER_SIZE, SerializePolicy_ >
2013-07-18 Initial version.
Class nn::pia::clone::EventCloneElementBase

2014-06-03 Fixed a bug where if the first sent event was dropped, the second event or later events were treated as the first event.

2014-03-12 Added a function that gets the current number of event buffers in use.

2013-07-18 Initial version.

Class nn::pia::clone::HostByteOrderSerializePolicy< Type >
2013-07-18 Initial version.
Class nn::pia::clone::LittleEndianSerializePolicy< Type >
2013-07-18 Initial version.
Class nn::pia::clone::NetworkByteOrderSerializePolicy< Type >
2013-07-18 Initial version.
Class nn::pia::clone::ReceiveClone
2013-07-18 Initial version.
Class nn::pia::clone::ReliableCloneElement< Value_, SerializePolicy_ >
2013-07-18 Initial version.
Class nn::pia::clone::ReliableCloneElementBase
2013-07-18 Initial version.
Class nn::pia::clone::ReliableLargeCloneElement< Value_, DIVIDE_SIZE, SerializePolicy_ >
2014-10-08 Initial version.
Class nn::pia::clone::ReliableLargeCloneElementBase
2014-10-08 Initial version.
Class nn::pia::clone::ReverseSerializePolicy< Type_ >
2013-07-18 Initial version.
Class nn::pia::clone::SendClone
2013-07-18 Initial version.
Class nn::pia::clone::SequentialSharingClone
2013-09-25 Initial version.
Class nn::pia::clone::SharingClone
2013-09-25 Initial version.
Class nn::pia::clone::StraightSerializePolicy< Type_ >
2013-07-18 Initial version.
Class nn::pia::clone::UnreliableCloneElement< Value_, SerializePolicy_ >
2013-07-18 Initial version.
Class nn::pia::clone::UnreliableCloneElementBase
2013-07-18 Initial version.
Class nn::pia::common::ByteOrder
2012-04-04 Initial version.
Class nn::pia::common::CachedPrint

2014-09-18 Changed the specifications so that ResultAlreadyExists is returned if you call CreateInstance when an instance already exists.

2012-05-01 Initial version.

Class nn::pia::common::CallContext

2013-12-16 Removed a previous prohibition on calling the Cancel function in the CallContext passed to the Pia API that does not support cancellations.

2013-12-13 Added the IsInProgress function.

2013-12-13 Made the GetState function private.

2012-09-21 No longer inherits Event.

2012-09-20 Added a description of the conditions under which Cancel can be called.

2012-05-14 Added the CompletionCallback parameter so values can be specified by applications.

2012-05-14 Initial version.

Class nn::pia::common::CryptoSetting
2013-12-04 Initial version.
Class nn::pia::common::ErrorHandler

2012-07-11 Deleted the Severity-related code that was scheduled for removal.

2011-12-07 Added a table to the GetSeverity page that shows the relationship between each Result used in the Pia module and the associated severity.

Class nn::pia::common::Event

2012-10-30 Added TryWait.

2012-09-21 Made functions public.

Class nn::pia::common::InetAddress
2012-04-19 Initial version.
Class nn::pia::common::Log

2015-06-19 Added the PIA_LOG_EX() macro.

2012-05-30 Times can now also be printed.

2012-05-30 Made the Write() function private.

2012-04-19 Initial version.

Class nn::pia::common::MemoryLeakChecker
2014-02-03 Improved the description of Set/Check.
Class nn::pia::common::RootObject

2012-04-23 Removed an unneeded destructor.

2012-04-23 Initial version.

Class nn::pia::common::Scheduler

2014-09-18 Changed the specifications so that ResultAlreadyExists is returned if you call CreateInstance when an instance already exists.

2012-07-03 Changed the background scheduler priority check.

2012-06-15 The Dispatch function used to return nn::Result, but no longer returns a value.

2012-05-21 Added a feature for running jobs in a different thread. The parameters and return values of CreateInstance have been changed accordingly.

2012-04-04 Initial version.

Class nn::pia::common::SignatureSetting
2012-11-30 Initial version.
Class nn::pia::common::SignatureSettingWithKeyBuffer< KeySize >
2012-11-30 Initial version.
Class nn::pia::common::StationAddress

2014-05-29 Made the StationAddress::GetUdsNodeId and StationAddress::SetUdsNodeId functions private.

2013-05-17 Changed the documentation because of the deprecation of StationAddress::GetUdsNodeId and StationAddress::SetUdsNodeId.

2013-02-22 Added greater than and less than comparison functions and operators.

2012-04-23 Removed an unneeded destructor.

2012-04-19 Initial version.

Class nn::pia::common::String
2012-04-19 Initial version.
Class nn::pia::common::Time

2012-06-06 Made the class inherit from RootObject.

2012-04-20 Changed the internal representation to be a direct representation of a system tick. Consequently, removed Time(u64) and operator u64, which handled the raw values directly.

2012-04-20 Added a TimeSpan class to represent time spans (deltas). The arguments and return values of operators that handle time spans have been changed to instances of the TimeSpan class.

2012-04-20 Added the SetNow function.

2012-04-20 Removed ConvertFromSeconds and ConvertToSeconds functions, and gave equivalent functionality to TimeSpan::SetFromSec(f32) and TimeSpan::GetSecF32 functions.

2012-04-13 Changed the specifications of GetTime function to return the time elapsed since the nn::pia::common::Initialize function was called.

2012-04-13 Removed the Reset function.

2012-04-13 The nn::pia::common::Initialize and nn::pia::common::Finalize functions now initialize and finalize the Time class.

2012-04-04 Initial version.

Class nn::pia::common::TimeSpan

2012-07-12 Added support so that this instance can be initialized as a static variable without problems.

2012-05-24 Added the addition and subtraction operators to the TimeSpan class.

2012-04-20 Initial version.

Class nn::pia::common::Trace

2014-09-18 Changed the specifications so that ResultAlreadyExists is returned if you call CreateInstance() when an instance already exists.

2013-11-21 Reorganized the trace flags. The bit positions of the flags are now different from what they were before.

2013-07-18 Changed the operations of IsFlagSet. The function now returns true if multiple flags are specified and any of the flags are raised.

2012-06-07 TraceFlag and its value were changed from enumerated to u64 constants.

2012-05-30 Times can now also be printed.

2012-04-19 Initial version.

Class nn::pia::common::Watermark
2012-04-04 Initial version.
Class nn::pia::common::WatermarkManager

2014-09-18 Changed the specifications so that ResultAlreadyExists is returned if you call CreateInstance when an instance already exists.

2013-05-14 Added KEY_UNRELIABLE_PROTOCOL_RECEIVE_BUFFER_NUM.

2013-04-01 Removed KEY_PACKETPARSER_BUFFUR_NUM and KEY_PACKETCREATOR_BUFFUR_NUM.

2013-03-21 Added keys for Reliable send and receive buffers in SessionProtocol.

2012-05-09 Added keys for ReliableProtocol and StationProtocolReliable send and receive buffers.

2012-04-25 Added documentation.

2012-04-04 Initial version.

Namespace nn::pia::inet

2012-07-18 Added Result values specific to the inet module. pia::inet::NexFacade::StartNatSession now returns nn::pia::ResultDnsFailed.

2012-07-13 inet::Initialize now returns ResultInvalidState if Pia does not support NEX thread mode.

2012-05-30 Changed the arguments to Initialize so the MTU can now be specified.

Class nn::pia::inet::NexCreateSessionSetting

2015-03-20 Added APIs to set parameters for scored matchmaking.

2014-05-16 Added the SetSessionUserPassword() function.

2014-02-03 Initial version.

Class nn::pia::inet::NexFacade

2014-09-18 Changed the specifications so that ResultAlreadyExists is returned if you call CreateInstance() when an instance already exists.

2014-04-01 Added the Bind() and Unbind() functions and LoginInfo. In conjunction with that, modified the arguments for the Startup() function.

2014-03-25 Deleted the GetNatProperty() function. Added the GetNatPropertyMapping(), GetNatPropertyFiltering(), GetNatPropertyPortIncrement(), GetNatPropertyPublicPort(), and GetNatPropertyInterfacePort() functions.

2014-03-18 Deleted the ConvertNexStationURLToStationConnectionInfo() function. Made the ConvertNexInetAddressToInetAddress(), ConvertInetAddressToNexInetAddress(), and ConvertStationLocationToNexStationUrl() functions private.

2014-01-15 Made changes so that the name resolution process that was being done in the StartNatSessionAsync() function now uses the socket library directly.

2013-12-18 Added the StartNatSessionAsync(), IsCompletedStartNatSession(), GetStartNatSessionResult(), and CancelStartNatSessionAsync() functions.

2013-11-27 Deleted ResultDnsFailed from the StartNatSession() return values and added it to the Result values that could be returned through CallContext when asynchronous processes fail.

2013-09-18 Added the game server ID as the third parameter of the Startup() function.

2013-09-05 Added the fact that the NEX allocator is called inside the Startup() function.

2013-07-02 Changed the first argument of the Startup() function from nn::nex::Credentials* to nn::nex::NgsFacade*.

2012-12-03 Added ConvertNexSignatureKeyToSignatureSetting.

2012-12-03 Added ConvertNexStationUrlToStationConnectionInfo.

2012-12-03 Deprecated ConvertNexStationURLToStationConnectionInfo.

2012-12-03 Renamed the ConvertStationLocationToNexStationURL() function to ConvertStationLocationToNexStationUrl().

2012-12-03 Renamed the ConvertNexStationURLToStationLocation() function to ConvertNexStationUrlToStationLocation().

2012-11-29 Moved the parts of the nn::pia::transport::StationLocation function that bring in a dependency on NEX here.

2012-11-21 Added the ConvertStationLocationToNexStationURL() and ConvertNexStationURLToStationLocation() functions.

2012-11-21 Added the ConvertNexInetAddressToInetAddress() and ConvertInetAddressToNexInetAddress() functions.

2012-05-17 Added the NexFacade::UpdateGatheringID function to get the GatheringID of the matchmaking session from the application.

2012-05-16 Added parameters to the NexFacade::Startup function.

2012-04-06 Initial version.

Class nn::pia::inet::NexJoinSessionSetting

2014-05-16 Added the SetSessionUserPassword() and SetSessionSystemPassword() functions.

2014-04-30 Added the SetSessionId() and GetSessionId() functions.

2014-02-03 Initial version.

Class nn::pia::inet::NexNetworkFactory

2014-08-01 Added the CreateMatchOpenRecruitmentJob and CreateMatchCloseRecruitmentJob functions.

2014-04-03 Added the CreateMissingStationHandler function and the Session functions

2013-05-16 Added the IsMultiCandidatePermitted function.

2013-03-28 Added the CreatePacketHandler function.

2013-03-21 Added the CreateSignatureSettingStorage function.

2013-03-14 Added the CreateCreateMeshJob function.

2012-11-27 Added the IsSignatureRequired function.

2012-04-06 Initial version.

Class nn::pia::inet::NexSessionSearchCriteria

2015-03-20 Added APIs to set parameters for scored matchmaking.

2014-02-03 Initial version.

Class nn::pia::inet::NexUpdateSessionSetting

2015-03-20 Added APIs to set parameters for scored matchmaking.

2014-01-21 Initial version.

Namespace nn::pia::local

2014-04-04 Removed the UdsNode function. Use the LocalNetwork function instead.

2012-10-29 Categorized member functions to improve readability of the API reference.

2012-10-19 Modified comments in the header field in accordance with changes to the format of the API reference.

2012-07-19 Changed the name of the "NEX Local Communication Linking Feature" to "NetZ Local Communication Linking Feature."

2012-07-10 Deleted old Result-related codes that had been left in the local namespace for compatibility reasons.

2012-06-01 Revised the description of parameters (second parameter) passed to the local::UdsUpdateEventCallback function.

2012-05-01 Added the header files included in local.h. All headers required to use the local module are included if you include local.h. (This does not include the NEX local network link feature.)

2012-04-10 Initial version. Revision histories are listed individually for Pia 1.7.0 or later.

Class nn::pia::local::LocalAroundNetworkInfo
2015-02-10 Initial version.
Class nn::pia::local::LocalAroundNetworkSearchSetting
2015-02-10 Initial version.
Class nn::pia::local::LocalConnectNetworkSetting
2014-03-03 Initial version.
Class nn::pia::local::LocalCreateNetworkSetting
2014-03-03 Initial version.
Class nn::pia::local::LocalCreateSessionSetting
2014-03-03 Initial version.
Class nn::pia::local::LocalFacade

2014-09-18 Changed the specifications so that ResultAlreadyExists is returned if you call CreateInstance when an instance already exists.

2014-03-03 Initial version.

Class nn::pia::local::LocalJoinSessionSetting

2014-05-28 Renamed the GetSessionId function to GetSessionId.

2014-04-30 Added the GetSessionId function.

2014-03-03 Initial version.

Class nn::pia::local::LocalNetwork

2014-10-23 The Initialize function now stops on an assert if device memory is passed to Pia.

2014-03-03 Initial version.

Class nn::pia::local::LocalNetworkDescription
2014-03-03 Initial version.
Class nn::pia::local::LocalNetworkFactory

2014-08-01 Added the CreateMatchOpenRecruitmentJob() and CreateMatchCloseRecruitmentJob() functions.

2014-03-03 Initial version.

Class nn::pia::local::LocalNetworkSetting
2014-03-03 Initial version.
Class nn::pia::local::LocalSessionSearchCriteria
2014-03-03 Initial version.
Class nn::pia::local::LocalSessionStationInfo
2014-05-27 Initial version.
Class nn::pia::local::LocalStationInfo
2014-03-03 Initial version.
Class nn::pia::local::UdsAroundNetworkInfo
2015-02-10 Initial version.
Class nn::pia::local::UdsConnectNetworkSetting
2014-03-03 Initial version.
Class nn::pia::local::UdsCreateNetworkSetting
2014-03-03 Initial version.
Class nn::pia::local::UdsCreateSessionSetting
2014-03-03 Initial version.
Class nn::pia::local::UdsJoinSessionSetting
2014-03-03 Initial version.
Class nn::pia::local::UdsNetworkDescription
2014-03-03 Initial version.
Class nn::pia::local::UdsNetworkFactory

2014-03-31 Added support for LocalNetwork.

2013-04-01 Noted the restriction on using send and receive functions on the UdsNode class when using PiaSession.

2013-03-28 Added the CreatePacketHandler() function.

2013-03-21 Added the CreateSignatureSettingStorage() function.

2013-03-14 Added the CreateCreateMeshJob() function.

2012-11-27 Added the IsSignatureRequired() function.

2012-10-29 Categorized member functions to improve readability of the API reference.

2012-04-06 Initial version.

Class nn::pia::local::UdsNetworkSetting
2014-03-03 Initial version.
Class nn::pia::local::UdsStationInfo
2014-03-03 Initial version.
Namespace nn::pia::reckoning
2013-10-29 Initial version.
Class nn::pia::reckoning::ReckoningCloneElement< ReckoningStrategy_, SerializePolicy_ >
2013-10-28 Initial version.
Class nn::pia::reckoning::ReckoningCloneElementBase
2013-10-28 Initial version.
Class nn::pia::reckoning::Simple3dReckoningStrategy
2013-10-29 Initial version.
Class nn::pia::reckoning::Vector3f
2013-10-29 Initial version.
Namespace nn::pia::session

2014-02-03 Organized the results that are returned when Session::JoinSessionAsync or asynchronous processes fail, and increased the number of reasons for distinguishable asynchronous process failures.

2013-04-11 Changed the Result value returned when session::Initialize fails to a Result value indicating the cause of the failure. The failure conditions have not changed.

2012-12-19 Added a Result type that can be returned when asynchronous NAT traversal of the Session::JoinSession instance fails.

2012-09-26 Deleted the old Result typedef that had been left in for compatibility.

2012-08-23 Renamed some results in the session module.

2012-04-27 Both the class name and the connection information for another terminal, which mean different things, were Session, which could cause confusion. The latter was changed to session.

2012-04-06 Initial version.

Class nn::pia::session::CreateSessionSetting
2014-02-27 Initial version.
Class nn::pia::session::ISessionInfoList
2014-02-27 Initial version.
Class nn::pia::session::JoinSessionSetting
2014-02-27 Initial version.
Class nn::pia::session::Mesh

2015-05-20 Added the Mesh::GetUplinkBitRate function.

2015-05-20 Added the bitRateCheckMode member to the Setting structure to enable configuration of the bit rate detection feature.

2015-05-20 Added the uplinkBitRateLowerLimit and bitRateCheckPacketSize members to the StartupSetting structure to enable configuration of the bit rate detection feature.

2015-05-11 Provided the StartupSetting structure to consolidate the arguments when calling the Startup() function.

2014-09-18 Changed the specifications so that ResultAlreadyExists is returned if you call CreateInstance() when an instance already exists.

2014-09-17 Changed the Result returned when a StationId that has already been kicked out is specified for Mesh::KickoutStation.

2014-05-30 Changed the notations for the cautions when local communication for Mesh::Startup and host migration are enabled.

2014-05-15 Added the Mesh::CheckConnection function that returns a Result indicating whether Mesh is in a communicable state.

2014-05-02 Added a note to the description of Mesh::Startup(const transport::Station::PlayerName*, const common::CryptoSetting*, const common::SignatureSetting&, const transport::Station::IdentificationToken*) about the affect of the UdsNode connection monitoring feature when the host migration feature is enabled for local communication.

2014-04-17 Added a note to the description of Mesh::Startup(u32, u32, const transport::Station::PlayerName*, const common::CryptoSetting*, const common::SignatureSetting&, const transport::Station::IdentificationToken*) about the affect of the UdsNode connection monitoring feature when the host migration feature is enabled for local communication.

2014-02-10 Added a note to the descriptions of both Mesh::RelayEmulation and Mesh::ResetRelayEmulation about when the functions can be called.

2014-02-03 Organized the results that are returned when Mesh::JoinMeshAsync or asynchronous processes fail, and increased the number of reasons for distinguishable asynchronous process failures.

2013-12-18 Removed the synchronous processing version of Mesh::CreateMesh.

2013-12-11 Fixed a bug where the asynchronous processing result was different from the actual reason for failure when Mesh::JoinMesh failed because its request was rejected due to the internal state of the host's library.

2013-12-04 Added an overload with arguments to Mesh::Startup to pass a structure for the encryption settings.

2013-08-09 Fixed a bug where the internal state would become inconsistent if Mesh::DestroyMesh was called while joining a mesh, or if a station called Mesh::KickoutStation on itself.

2013-08-09 Corrected the descriptions of the return values of Mesh::GetConnectionRoute and Mesh::RelayEmulation. (No changes were made to conditions that result in an error or Result types.)

2013-08-06 Fixed a bug where meshes would disconnect during host migration if the single-candidate host migration feature was enabled while a relay type network topology was also enabled.

2013-07-26 Removed Mesh::GetIdentificationToken.

2013-07-10 Changed the specifications of Mesh::Startup about the timeout used with the Mesh::JoinMesh process so that it cannot be changed by applications.

2013-07-10 Removed some Result types that can be returned when asynchronous processing of Mesh::JoinMesh fails.

2013-06-25 Added the Mesh::RelayEmulation and Mesh::ResetRelayEmulation functions for debugging the relay feature.

2013-06-25 Added an overload to Mesh::CreateInstance allowing you to enable or disable the use of debugging of the relay feature.

2013-06-18 Changed the specification to check whether lower modules can use host migration when Mesh::Startup is called while host migration is enabled.

2013-06-13 Fixed a bug where calls to Mesh::LeaveMesh would fail if they were called at the same time a station was being kicked from the mesh using Mesh::KickoutStation.

2013-05-28 Changed the default timeout for Mesh::JoinMesh processing (defined by the NN_PIA_SESSION_JOIN_TIMEOUT_DEFAULT constant) from 20,000 milliseconds to 30,000 milliseconds.

2013-05-15 Added the Mesh::KickoutStation function for kicking out an arbitrary station from the mesh.

2013-05-15 Added the Mesh::DisconnectReason enumerated type to represent reasons why a station is unable to connect to a mesh, and the Mesh::GetDisconnectReason function to get this reason.

2013-04-24 Added the Mesh::GetConnectionRoute function for debugging relaying.

2013-04-19 Fixed a bug where the state could become inconsistent if a host migration started while another station was joining the mesh, under certain timing and other conditions.

2013-04-08 Added available settings to use as the network topology for the meshes built using the Mesh class.

2013-04-08 Added the following functions for changing settings when relaying is enabled: Mesh::SetMaxNumOfRelayRoutesAssignedToStation and Mesh::SetMaxRtt.

2013-03-29 Changed the Mesh::Startup function to set the player name.

2013-03-14 Added an asynchronous version of the Mesh::CreateMesh function.

2013-01-08 Fixed a low-frequency bug where other clients could get into an inconsistent state if a client left a mesh and then tried to join the same one again.

2012-12-20 Fixed a bug where an inconsistent internal state could occur if the other client disconnected at certain times while a new client was joining the mesh.

2012-12-19 Reviewed the value of nn::pia::session::NN_PIA_SESSION_KEEP_ALIVE_INTERVAL_DEFAULT (the default setting for the interval at which to send keep-alives), and changed it from 2000 to 1000.

2012-12-18 Fixed a bug where clients already in a mesh could be dropped if a new client failed to join it.

2012-12-18 Added a Result type that can be returned when asynchronous processing of a Mesh::JoinMesh fails.

2012-12-10 Fixed a timing bug where host migration could fail when it was expected to succeed.

2012-12-10 Fixed a bug where local host migration would fail for everyone unless it succeeded for all the remaining clients.

2012-12-10 Fixed a bug where some clients were highly likely to fail to join a mesh when multiple clients tried to join at the same time.

2012-11-30 Changed the specifications to configure the packet-signing feature when calling the Mesh::Startup function. The parameter specification was changed.

2012-11-26 Fixed a bug where the internal status of the mesh host could become inconsistent when a client failed to join the session, depending on the progress status of other processes.

2012-11-13 Fixed a bug where the mesh client could never detect an abnormal connection status if communication with another client was lost.

2012-10-29 Categorized member functions to improve readability of the API reference.

2012-08-22 Fixed a bug in the link between the server matchmaking process for Internet communication and the mesh participation process.

2012-08-22 As a result of this fix, communication with PiaMesh in earlier versions is no longer compatible.

2012-08-20 Fixed a bug where disconnect events with the same StationIndex were duplicated in events sent in a callback for a mesh state change notification.

2012-08-07 Fixed a bug where continuing host migration by using local communication frequently failed.

2012-07-18 Made minor amendments to the descriptions of the Mesh::Startup, Mesh::Cleanup, and related functions.

2012-07-10 Improved the speed and accuracy of host migration failure assessments during host migration.

2012-07-05 Added a Mesh::Startup overload that enables you to specify any settings, such as the timeout period for the mesh participation process.

2012-07-03 Added a Result type that can be returned when asynchronous processing of a Mesh::JoinMesh fails.

2012-07-02 Fixed a bug where when running a Mesh::DestroyMesh, the mesh destroy message sometimes did not reach the client.

2012-06-11 Fixed a bug where a station could not join a session using the Mesh::JoinMesh function if another station left the mesh while the function was executing.

2012-05-30 Fixed a bug where clients did not receive notifications when the mesh host called the Mesh::DestroyMesh function.

2012-05-30 Fixed a bug where disconnecting from a peer at nearly the same time the Mesh::LeaveMesh function starts would result in a timeout wait even though the peer had already disconnected.

2012-05-22 Implemented host migration. To enable or disable the host migration feature, use the Mesh::Setting structure, which is passed when you create a Mesh instance.

2012-05-22 Added the Mesh::LeaveMeshWithHostMigration function.

2012-05-22 Added host migration-related events to the events that are notified with the state change notification callback for the mesh.

2012-05-22 Changed the name of the event enumerated type from Event to EventType for the state change notification callback for the mesh.

2012-05-15 Added a function to get and set the synchronization pulse interval of the synchronization clock.

2012-05-11 Added the GetTime function, which can get the elapsed time (called the synchronization clock) from the time that the mesh was created.

2012-05-01 Added the Mesh::Startup function.

2012-05-01 Implemented the shared identification token feature.

2012-04-24 Added a feature to notify, in a callback, the changes to mesh information when joining or leaving stations.

2012-04-16 Changed the maximum specification value of connectible stations from 10 to 12.

2012-04-12 Listed const information for functions in which the internal state does not change.

2012-04-12 Changed Mesh::DestroyMesh so that it is an asynchronous process.

2012-04-12 Added an enumerated type to indicate the Mesh state and a function for getting the state.

2012-04-12 Implemented a keep-alive feature.

2012-04-06 Initial version.

Class nn::pia::session::Session

2015-06-30 Removed the session merge feature.

2015-05-20 Added the Session::GetUplinkBitRate function.

2015-05-20 Added the bitRateCheckMode member to the Setting structure to enable configuration of the bit rate detection feature.

2015-05-20 Added the uplinkBitRateLowerLimit and bitRateCheckPacketSize members to the StartupSetting structure to enable configuration of the bit rate detection feature.

2015-01-20 Added the GetMatchmakeSessionParticipantNum(), CancelJoinSessionAsync(), and CancelJoinRandomSessionAsync() functions.

2015-01-20 Added a description of the specification changes to CloseParticipationAsync.

2015-01-20 Noted that ResultGameServerProcessAborted is sometimes returned in the results of asynchronous processes related to the sessions feature.

2015-01-07 Added the GetJoinSequence() and GetJoinMeshSequence() functions.

2014-11-05 Deleted STATUS_CONNECTED_NETWORK from the return values for the GetStatus() function.

2014-11-05 Changed the CheckConnection() function to CheckConnectionError().

2014-11-05 Added EVENT_JOINT_SESSION_HOST_CHANGED.

2014-11-05 Added a feature for changing the search conditions for joint sessions.

2014-11-05 Added the GetJointSessionStationId() function.

2014-10-07 Added functions and constants related to joint session features that had been removed.

2014-09-18 Changed the specifications so that ResultAlreadyExists is returned if you call CreateInstance() when an instance already exists.

2014-08-11 Removed functions and constants related to the joint session feature, and added functions and constants related to the session merge feature.

2014-02-27 Initial version.

Class nn::pia::session::SessionSearchCriteria
2014-02-27 Initial version.
Class nn::pia::session::SessionStationInfo
2014-05-27 Initial version.
Class nn::pia::session::UpdateSessionSetting
2014-11-25 Initial version.
Member nn::pia::StationIndex

2013-02-01 Changed STATION_INDEX_MAX and MAX_STATION_NUM to 12 to match the maximum number of simultaneous connection supported by the Pia library.

2012-04-05 Moved from the nn::pia::common namespace to the nn::pia namespace.

Namespace nn::pia::sync

2013-04-09 Removed the following: HidSync, SyncProtocolOld, StationAddressTable, ResultInternalStateMismatch, ResultSynchronizationIsLost, ResultFailedToSynchronize, and ResultInvalidDevice.

2013-01-23 Increased the maximum number of stations available when using the HidSync and SyncProtocolOld classes.

2013-01-18 Added ResultDataIsNotSet to the Result values.

2012-10-19 Modified comments in the header field in accordance with changes to the format of the API reference.

2012-07-10 Deleted old Result-related codes that had been left in the sync namespace for compatibility reasons.

2012-05-07 The data sharing feature for the accelerometer and gyro sensor is now officially supported.

2012-05-07 Changed the Japanese spelling of 'sensor' in the Nintendo 3DS Terminology Guide.

2012-04-05 In accordance with the revision of the policy for managing results throughout Pia, the results for the sync module have changed, and the references have been made to adhere to those changes.

2012-03-12 The APP_SPECIFIC_DEVICE defined by the DeviceId enumerated type can now be used by applications as an application-specific device. (Equivalent to the Beta version.)

2012-03-03 Added a caution when sharing gyro sensor data. For more information, see sync::SyncDeviceProfile.

2012-02-22 Sharing of accelerometer and gyro sensor data has been implemented on a trial basis. Data sharing is equivalent to an Alpha version. Correct operation is not guaranteed at present.

2011-12-07 The severity of ResultSyncToBeImplemented changed from SEVERITY_SHOULD_BE_HANDLED to SEVERITY_PROGRAMMING_ERROR. The severity of ResultSyncDataIsNotArrivedYet changed from SEVERITY_IGNORABLE to SEVERITY_SHOULD_BE_HANDLED.

2011-11-29 Added ResultSyncInvalidDevice to the Result values.

2011-11-16 Provided the sync::ErrorReason enumerated type.

2011-11-16 Discontinued the original plans to provide specifications for callback during synchronization start. Deleted a callback type definition.

2011-11-10 Added STATE_MASTER_REINITIALIZING and STATE_CLIENT_REINITIALIZING to the sync::State enumeration.

2011-11-10 Added information about the Initialize function's return values, which had been previously left out.

2011-10-31 Changed specifications for initialization processing beneath the sync module, so that it is now performed during the setup period from the execution of the sync::BeginSetup function until the execution of the sync::EndSetup function.

2011-10-31 Removed arguments from the sync::Initialize function.

2011-10-31 Changed specifications for the Initialize function's return value from void to nn::Result.

2011-10-21 Added documentation.

2011-10-19 Released the alpha version.

2012-10-29 Categorized member functions to improve readability of the API reference.

Class nn::pia::sync::SyncProtocol

2014-01-30 Added constants to specify the compression level of synchronization data, and made any other compression levels unsupported.

2013-11-22 Changed internal processes and reduced the amount of synchronization data sent.

2013-11-22 Enabled a skip feature when sending synchronized data on the same frame by default and removed the configuration parameter (Setting::m_SendSkipMax).

2013-10-25 Added the EndAlone function for unilaterally ending synchronization.

2013-10-25 Added a feature for compressing synchronized data.

2013-10-25 Added a skip feature when sending synchronized data on the same frame.

2013-08-30 Changed the message headers. This breaks backward compatibility.

2013-08-26 Removed the Session::m_SendPeriod function. Set the same parameters by calling Start.

2013-08-26 Removed Start(bit32 usingDataIdBitmap) and Start(bit32 usingDataIdBitmap, u32 delay). Use Start(bit32 usingDataIdBitmap, u32 delay, u32 sendPeriod) when synchronized communication starts.

2013-05-20 Promoted the feature to change delay during synchronization to the officially supported version.

2013-04-12 Added a function to calculate the maximum data size that would fit into a single packet of synchronization data to be sent.

2013-04-12 Added a feature to change the delay after initialization. (The feature to change the delay during synchronization is still in beta.)

2013-04-12 Changed the type of the Setting member.

2013-04-12 Changed the number of Data IDs that can be configured.

2013-02-19 Renamed STATE_READY to STATE_WAITING.

2013-02-15 Added a function to get the settings specified in the Initialize function.

2013-02-15 Changed the type of the Setting member.

2013-01-18 Greatly revised the state transitions, and changed the operations of each function.

2013-01-18 It is now possible to send large files.

2012-12-25 Initial version.

2012-12-25 Renamed the existing SyncProtocol class to SyncProtocolOld.

Namespace nn::pia::transport

2013-10-16 transport.h now includes transport_PacketAnalysisData.h.

2012-06-28 Clearly indicated which functions are thread-safe.

2012-05-30 transport.h now includes transport_ThreadStreamManager.h.

2012-04-06 Initial version.

Class nn::pia::transport::ConnectionAnalysisData

2013-11-22 Changed the type for the variables that count packets and packet losses from u16 to u32.

2013-11-14 Added a member variable that maintains a counter from the point at which measurement starts.

2013-10-29 Initial version.

Class nn::pia::transport::NetworkFactory

2013-05-16 Added the IsMultiCandidatePermitted function.

2013-03-28 Added the CreatePacketHandler function.

2013-03-21 Added the CreateSignatureSettingStorage function.

2013-03-14 Added the CreateCreateMeshJob function.

2012-11-27 Added the IsSignatureRequired function.

2012-04-23 To improve readability, changed the See Also section to refer to nn::pia::local::UdsNetworkFactory and nn::pia::inet::NexNetworkFactory.

2012-04-06 Initial version.

Class nn::pia::transport::PacketAnalysisData

2013-12-10 Corrected an inaccurate description of passedMilliSec.

2013-12-02 The increases in the number of sent packets, sent protocol messages, and sent data due to multicasting are now also included in the calculation.

2013-11-21 The total packet size is now calculated using the size of packets in the network layer (for example, packets that include IPv4 or UDP headers).

2013-11-14 Added a member variable that maintains the count from the point at which measurement starts.

2013-10-17 Revised specifications.

2013-10-15 Initial version.

Class nn::pia::transport::Protocol

2013-03-28 Moved namespace from nn::pia::common to nn::pia::transport.

2012-04-04 Initial version.

Class nn::pia::transport::ReliableBroadcastProtocol

2014-07-16 Changed the specifications so that ResultTemporaryUnavailable is returned when the StartSend or StartReceive function is called during joint sessions or during state transitions between sessions.

2014-07-10 Fixed broken links in the API reference.

2014-07-01 Changed the specifications of TransferSetting. Use TransferSetting::GetSourceStationId to get the sender's StationId.

2014-04-02 Revised the documentation for the IsXXXX functions in the Configuration class.

2013-05-27 Fixed an incorrect return value sometimes returned from the Cancel function.

2013-04-25 Refactored code. This breaks backward compatibility.

2012-03-29 The value specified in the SetThroughputLimit function is now set as the default value when communication starts.

2012-10-29 Improved throughput by tuning the way that data is sent.

2012-10-17 Fixed a bug where the GetProgress function might halt on an assertion.

2012-09-18 Added the SetThroughputLimit and GetThroughputLimit functions.

2012-09-10 Tuned throughput.

2012-08-21 Initial version.

Class nn::pia::transport::ReliableProtocol

2014-07-17 Changed the specifications so that ResultNotFound is returned when the destination StationId specified in the Send() function is not found.

2014-07-16 Changed the specifications so that ResultTemporaryUnavailable is returned when Send() is called while state transitions between sessions or joint sessions are in progress.

2014-03-24 Added a formula to the Initialize() API Reference for determining the approximate amount of memory it consumes.

2012-12-14 Improved the method of tuning the resend interval.

2012-10-29 It now automatically tunes the resend interval.

2012-07-17 Added ResultNotInCommunication to the return values of the Send() and Receive() functions.

2012-07-09 You are no longer required to set the maximum number of connections in the Initialize() function.

2012-07-05 Added descriptions of the send and receive operations and buffer usage.

2012-04-24 You can now send to all members by specifying the recipient as STATION_INDEX_ALL in the Send() function.

2012-04-06 Initial version.

Class nn::pia::transport::RoundRobinUnreliableProtocol
2013-03-19 Initial version.
Class nn::pia::transport::SequenceIdController

2013-03-25 Removed the GetProfiledToAllPacketNum function and added the GetProfiledMulticastPacketNum function.

2012-06-28 Clearly indicated which functions are thread-safe.

2012-06-21 Made the constructor and destructor private.

2012-04-19 Made it possible to count the packets addressed to STATION_INDEX_ALL.

2012-04-06 Initial version.

Class nn::pia::transport::Station

2015-02-19 Made the GetStationIndex function public.

2013-10-16 Added GetRttSamplingNum to get the number of samples to use for calculating RTT.

2013-08-08 Added SetInitialRttPulseInterval and GetInitialRttPulseInterval.

2013-05-01 Added the GetIdentificationToken, GetPlayerName, and GetPrincipalId functions.

2013-03-28 Added definitions for Station::IdentificationInfo and Station::PlayerName.

2013-01-22 Added the GetRtt function that allows users to specify the number of samples to use when calculating RTT.

2013-01-17 Added the SetRttPulseInterval and GetRttPulseInterval member functions for setting and getting the pulse interval used when calculating RTT.

2012-06-28 Clearly indicated which functions are thread-safe.

2012-06-21 Made functions and constants, the use of which were not necessary for applications, private.

2012-06-14 Added Station::GetRtt function and Station::INVALID_RTT definition.

2012-05-30 Made the send and receive functions private.

2012-05-01 Added a definition for Station::IdentificationToken.

2012-04-28 Fixed an error in the notation of the return values for the Station::Startup function.

2012-04-06 Initial version.

Class nn::pia::transport::StationConnectionInfo

2012-04-16 Added a serialized group of API functions for streamlining size during serialization.

2012-04-06 Initial version.

Class nn::pia::transport::StationLocation

2012-11-29 Revised code so that the StationLocation class does not depend on NEX in NEX 3.X environments.

2012-06-28 Clearly indicated which functions are thread-safe.

2012-04-06 Initial version.

Class nn::pia::transport::StationLocationContainer
2012-04-06 Initial version.
Class nn::pia::transport::StationManager

2014-09-18 Changed the specifications so that ResultAlreadyExists is returned if you call CreateInstance when an instance already exists.

2014-07-15 Changed how the GetStationAddress and GetStation functions operate when they are passed invalid arguments.

2012-06-28 Clearly indicated which functions are thread-safe.

2012-04-06 Initial version.

Class nn::pia::transport::ThreadStreamManager

2014-09-18 Changed the specifications so that ResultAlreadyExists is returned if you call CreateInstance when an instance already exists.

2014-04-02 Changed the specifications of the SetSendThreadPacketLossRatio and SetReceiveThreadPacketLossRatio functions. ResultInvalidState is returned when the packet loss emulation feature is not enabled.

2014-04-02 Changed the specifications of the CreateInstance function. You can now specify whether to enable or disable packet loss emulation.

2014-04-02 Revised the reference. The reference now refers to Transport::DebugSetting for details about the buffer size for latency emulation.

2013-10-18 Fixed errors in the descriptions of GetSendThreadSendDataSize and ClearSendThreadSendDataSize.

2013-10-18 Fixed errors in the descriptions of GetSendThreadSendPacketNum and ClearSendThreadSendPacketNum.

2013-10-15 Added a feature to analyze and tabulate the data in sent and received packets.

2013-09-02 Added functions to get and clear the send and receive data size.

2012-08-24 Added a function for packet-loss emulation.

2012-08-08 Added functions to get and clear the number of send and receive packets.

2012-07-11 Added a description of how to set the priority for sending and receiving threads.

2012-07-05 Added the SetSendThreadLatencyEmulation and SetReceiveThreadLatencyEmulation functions.

2012-06-28 Clearly indicated which functions are thread-safe.

2012-05-24 Initial version.

Class nn::pia::transport::Transport

2015-04-24 Fixed an error in the description of the arguments passed to ConvertToStationId.

2015-04-24 Noted that the ConvertToStationIndex and ConvertToStationId functions have different behavior when used with the Session API and the Mesh API.

2014-11-05 Renamed the GetConnectionStatus function to CheckConnectionError.

2014-09-18 Changed the specifications so that ResultAlreadyExists is returned if you call CreateInstance when an instance already exists.

2014-07-17 Added the new CheckTransportStatus function.

2014-06-26 Added the new ConvertToStationId and ConvertToStationIndex functions.

2014-04-08 Provided the DebugSetting structure as the default constructor, and made it initialize all member variables with the default values.

2014-04-03 Renamed the GetMasterStationConnectionInfo function to GetHostStationConnectionInfo.

2014-04-02 Added the new SetDebugSetting function. Use this function to make debugging settings for things like latency emulation.

2014-04-02 Removed the members related to latency emulation from the Transport::Setting structure.

2013-11-22 Added the analysisInterval member variable to the Transport::Setting structure and made it possible to automatically print measurement results from the transport analysis feature.

2013-05-24 Made the SetKeepAliveInterval function private. Specify with the Session::Startup function.

2013-04-01 Removed the maxPacketCreatorBufferNum and maxPacketParserBufferNum members from the Transport::Setting struct.

2012-12-03 The Transport::GetConnectionStatus function can now return ResultInvalidState.

2012-11-30 Removed the Transport::MAX_SIGNATURE_KEY_SIZE constant.

2012-11-30 Removed signature-related parameters from the version of the Transport::Setting struct constructor with parameters.

2012-11-30 Removed signature-related member variables from the Transport::Setting struct.

2012-11-27 Changed the specifications of the Transport::CreateInstance function. The function now returns an error Result value if the signature feature is not enabled on networks where signed packets are recommended.

2012-07-25 Added Transport::GetLocalStationConnectionInfo and Transport::GetMasterStationConnectionInfo.

2012-07-18 Added error handling for the Transport::GetConnectionStatus function.

2012-07-05 Prepared a constructor for the Transport::Setting structure.

2012-07-05 Added member variables for latency emulation to the Setting structure.

2012-07-04 Updated descriptions of Setting structure members.

2012-06-28 Clearly indicated which functions are thread-safe.

2012-06-15 Added the Transport::GetConnectionStatus function.

2012-06-15 Made the following functions private: Transport::Startup, Transport::Cleanup, and Transport::Dispatch.

2012-06-01 Added the Transport::Startup and Transport::Cleanup functions.

2012-05-25 Changed the Result values that the Transport::Dispatch function can return.

2012-05-09 Extended the Transport::Setting struct to add the ability to sign packets.

2012-04-28 Noted that the Transport::Dispatch function can return ResultInvalidState.

2012-04-28 Revised the description of the Transport::Dispatch function.

2012-04-25 Described memory settings using the Transport::Setting struct.

2012-04-21 Revised the description of the Transport::Dispatch function.

2012-04-18 The size of internal buffers can now be specified in the Transport::CreateInstance function.

2012-04-12 Added functions related to keep-alive processing.

2012-04-06 Initial version.

Class nn::pia::transport::TransportAnalysisData
2013-10-29 Initial version.
Class nn::pia::transport::TransportAnalyzer

2014-09-18 Changed the specifications so that ResultAlreadyExists is returned if you call CreateInstance when an instance already exists.

2014-07-01 Added a feature that lets you pass analysis data as a text string to a user-defined function.

2013-11-25 Added the SetMarker function.

2013-11-14 Made the CreateInstance, DestroyInstance, Initialize, Finalize, Startup, and Cleanup functions private.

2013-11-14 Made changes so that instances are implicitly created within PiaTransport.

2013-10-29 Initial version.

Class nn::pia::transport::UnreliableProtocol

2014-09-10 Corrected incorrect information about when the GetDataSizeLimit function can be called.

2014-07-17 Changed the specifications so that ResultTemporaryUnavailable is returned when SendToAll is called while state transitions between sessions or joint sessions are in progress.

2014-07-17 Changed the specifications so that ResultNotFound is returned when the destination StationId specified in the Send function is not found.

2014-07-16 Changed the specifications so that ResultTemporaryUnavailable is returned when the Send/Receive function is called while state transitions between sessions or joint sessions are in progress.

2014-03-10 Added information about when the GetDataSizeLimit function can be called.

2014-03-10 Fixed errors in the description of the MAX_DATA_SIZE value. The correct value is 1430.

2013-07-05 Modified the Initialize function. Initialize now succeeds when called between calls to BeginSetup and EndSetup of another module.

2013-05-14 Fixed the documentation of the Finalize function.

2013-04-12 Changed the specifications of Send and SendToAll so that a ResultBufferIsFull object is never returned.

2013-04-05 Made GetDataSizeLimit into a non-static member function.

2013-04-01 Changed the specifications of the Receive function. Reordered the dummy parameters.

2013-04-01 Changed the specifications of the Initialize function. If the Initialize function is called when the object has already been initialized with a call to Initialize, the function now returns ResultAlreadyInitialized.

2013-04-01 Changed the specifications of the Initialize function. You can now specify the number of receive buffers in the function arguments.

2013-03-19 Made major changes to the internal implementation of the UnreliableProtocol class, due to changes to the transport implementation.

2013-02-04 Fixed a bug where data received in the old session would remain in the buffer after the session ended, and could be retrieved in a new session.

2012-07-17 Changed the Send, SendToAll, and Receive functions. Made it so that ResultNotInCommunication is returned when communication is not possible.

2012-07-17 Added the IsInCommunication function.

2012-07-04 Added a description of detailed operations of the Receive, Send and SendToAll functions.

2012-06-28 Clearly indicated which functions are thread-safe.

2012-05-31 Changed the functionality of the Receive function. When the size of the read buffer is insufficient, ResultBufferShortage is now returned.

2012-05-30 Changed the functionality of the Send and SendToAll functions. You can no longer send data in excess of the value of the GetDataSizeLimit function.

2012-05-30 Added the GetDataSizeLimit function. This function gets the maximum transmission unit.

2012-04-28 It was mistakenly indicated that the Initialize function would return ResultInvalidArgument. This statement was deleted.

2012-04-28 Specifications changed so that the Send and SendToAll functions return ResultInvalidState when UnreliableProtocol is not initialized.

2012-04-28 Fixed a bug where ResultInvalidState was left out of the list of return values for the Receive function.

2012-04-06 Initial version.

Namespace nn::pia::util
2012-07-06 Initial version.
Class nn::pia::util::NetworkErrorCodeConverter

2015-04-16 Fixed a bug where ResultNexInternalError objects could not be converted using the Convert function after the Session::Cleanup function was called, causing the library to stop on an assertion.

2014-08-07 Changed Pia so that it halts on an assertion if something other than a Result is passed to the Convert function.

2012-11-06 Replaced locations that coded non-Pia Result values passed to Convert as immediate values with symbol names. The actual values passed remain the same.

2012-06-21 Initial version.

2014-11-04 Changed the operations of the Convert function.