示例#1
0
 public void Set(GetPacketQueueInfoOptions other)
 {
     if (other != null)
     {
         m_ApiVersion = P2PInterface.GetpacketqueueinfoApiLatest;
     }
 }
        /// <summary>
        /// Gets the current cached information related to the incoming and outgoing packet queues.
        /// </summary>
        /// <param name="options">Information about what version of the <see cref="GetPacketQueueInfo" /> API is supported</param>
        /// <param name="outPacketQueueInfo">The current information of the incoming and outgoing packet queues</param>
        /// <returns>
        /// <see cref="Result" />::<see cref="Result.Success" /> - if the input options were valid
        /// <see cref="Result" />::<see cref="Result.InvalidParameters" /> - if the input was invalid in some way
        /// </returns>
        public Result GetPacketQueueInfo(GetPacketQueueInfoOptions options, out PacketQueueInfo outPacketQueueInfo)
        {
            System.IntPtr optionsAddress = new System.IntPtr();
            Helper.TryMarshalSet <GetPacketQueueInfoOptionsInternal, GetPacketQueueInfoOptions>(ref optionsAddress, options);

            var outPacketQueueInfoInternal = Helper.GetDefault <PacketQueueInfoInternal>();

            var funcResult = EOS_P2P_GetPacketQueueInfo(InnerHandle, optionsAddress, ref outPacketQueueInfoInternal);

            Helper.TryMarshalDispose(ref optionsAddress);

            Helper.TryMarshalGet(outPacketQueueInfoInternal, out outPacketQueueInfo);

            return(funcResult);
        }