Beispiel #1
0
 /// <summary>
 /// Asynchronously changes the icon of AnyBar
 /// </summary>
 /// <param name="image"></param>
 /// <returns></returns>
 public async Task ChangeAsync(AnyBarImage image)
 {
     await _socket.SendToAsync(
         new ArraySegment <byte>(image.ToByteArray()),
         SocketFlags.None,
         _endPoint).ConfigureAwait(false);
 }
Beispiel #2
0
 /// <summary>
 /// Synchronously changes the icon of  AnyBar
 /// </summary>
 /// <param name="image"></param>
 public void Change(AnyBarImage image)
 {
     _socket.SendTo(
         image.ToByteArray(),
         SocketFlags.None,
         _endPoint);
 }
Beispiel #3
0
        /// <summary>
        /// Asynchronously changes the icon of AnyBar
        /// </summary>
        /// <param name="image"></param>
        /// <returns></returns>
        public Task ChangeAsync(AnyBarImage image)
        {
            var tcs    = new TaskCompletionSource <int>(_socket);
            var buffer = image.ToByteArray();

            _socket.BeginSendTo(buffer, 0, buffer.Length, SocketFlags.Broadcast, _endPoint, iar =>
            {
                var innerTcs = (TaskCompletionSource <int>)iar.AsyncState;
                try { innerTcs.TrySetResult(((Socket)innerTcs.Task.AsyncState).EndSendTo(iar)); }
                catch (Exception e) { innerTcs.TrySetException(e); }
            }, tcs);
            return(tcs.Task);
        }