Session.NET40.cs 1.3 KB

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