/// <summary> /// ћетод, отправл¤ющий клиенту команду и утилизирующий еЄ обратно в буфер /// TODO перенести метод в IRemoteClient /// </summary> /// <param name="client"></param> /// <param name="action"></param> private void SendClientCommand(IRemoteClient client, Action <IRoomCommand> action) { IRoomCommand command = null; try { command = _pool.Get(); action(command); _log.Debug("SendCommand: " + command); client.SendCommand(command); } catch (Exception e) { _pool.Free(command); _log.Error("Error SendCommand:\n" + e.ToString()); } finally { if (command != null) { _pool.Free(command); } } }