Session.NET40.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using System.Threading.Tasks;
  2. using System.Linq;
  3. using System;
  4. using System.Net.Sockets;
  5. using System.Net;
  6. using Renci.SshNet.Messages;
  7. using Renci.SshNet.Common;
  8. using System.Threading;
  9. using Renci.SshNet.Messages.Transport;
  10. namespace Renci.SshNet
  11. {
  12. /// <summary>
  13. /// Provides functionality to connect and interact with SSH server.
  14. /// </summary>
  15. public partial class Session
  16. {
  17. partial void HandleMessageCore(Message message)
  18. {
  19. this.HandleMessage((dynamic)message);
  20. }
  21. partial void ExecuteThread(Action action)
  22. {
  23. Task.Factory.StartNew(action, TaskCreationOptions.LongRunning);
  24. }
  25. partial void InternalRegisterMessage(string messageName)
  26. {
  27. lock (this._messagesMetadata)
  28. {
  29. Parallel.ForEach(
  30. from m in this._messagesMetadata where m.Name == messageName select m,
  31. (item) => { item.Enabled = true; item.Activated = true; });
  32. }
  33. }
  34. partial void InternalUnRegisterMessage(string messageName)
  35. {
  36. lock (this._messagesMetadata)
  37. {
  38. Parallel.ForEach(
  39. from m in this._messagesMetadata where m.Name == messageName select m,
  40. (item) => { item.Enabled = false; item.Activated = false; });
  41. }
  42. }
  43. }
  44. }