private static void CryptoAuthDecryptCompletedCallbackMethod(int command_handle, int err, string their_vk, IntPtr msg_data, int msg_len) { var taskCompletionSource = PendingCommands.Remove <AuthDecryptResult>(command_handle); if (!CallbackHelper.CheckCallback(taskCompletionSource, err)) { return; } var messageBytes = new byte[msg_len]; Marshal.Copy(msg_data, messageBytes, 0, msg_len); var result = new AuthDecryptResult(their_vk, messageBytes); taskCompletionSource.SetResult(result); }
private static void PackMessageCompletedCallbackMethod(int command_handle, int err, IntPtr msg_data, int msg_len) { var taskCompletionSource = PendingCommands.Remove <byte[]>(command_handle); if (!CallbackHelper.CheckCallback(taskCompletionSource, err)) { return; } Logger.Info($" ==> ** got {msg_len} bytes back from indy_pack_message"); var decryptedMsgBytes = new byte[msg_len]; Marshal.Copy(msg_data, decryptedMsgBytes, 0, msg_len); taskCompletionSource.SetResult(decryptedMsgBytes); }