예제 #1
0
        /// <summary>
        /// Allows access to the <see cref="LivelinessLostStatus" /> communication status.
        /// </summary>
        /// <param name="status">The <see cref="LivelinessLostStatus" /> to be filled up.</param>
        /// <returns>The <see cref="ReturnCode" /> that indicates the operation result.</returns>
        public ReturnCode GetLivelinessLostStatus(ref LivelinessLostStatus status)
        {
            LivelinessLostStatus s = default;

            ReturnCode ret = UnsafeNativeMethods.GetLivelinessLostStatus(_native, ref s);

            status = s;

            return(ret);
        }
예제 #2
0
        private void OnLivelinessLostHandler(IntPtr writer, ref LivelinessLostStatus status)
        {
            Entity entity = EntityManager.Instance.Find(writer);

            DataWriter dataWriter = null;

            if (entity != null)
            {
                dataWriter = entity as DataWriter;
            }

            OnLivelinessLost(dataWriter, status);
        }
예제 #3
0
 /// <summary>
 /// <para>Handles the <see cref="StatusKind.LivelinessLostStatus" /> communication status.</para>
 /// <para>The <see cref="StatusKind.LivelinessLostStatus" /> indicates that the liveliness that the <see cref="DataWriter" /> committed
 /// through its Liveliness QoS has not been respected. This means that any connected <see cref="DataReader" />s will consider this
 /// <see cref="DataWriter" /> no longer active</para>
 /// </summary>
 /// <param name="writer">The <see cref="DataWriter" /> that triggered the event.</param>
 /// <param name="status">The current <see cref="LivelinessLostStatus" />.</param>
 public abstract void OnLivelinessLost(DataWriter writer, LivelinessLostStatus status);
예제 #4
0
 public static extern ReturnCode GetLivelinessLostStatus(IntPtr dw, [MarshalAs(UnmanagedType.Struct), In, Out] ref LivelinessLostStatus status);