QueryLanguage.Concurrency.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
  2. using System.Reactive.Concurrency;
  3. using System.Reactive.Disposables;
  4. using System.Threading;
  5. namespace System.Reactive.Linq
  6. {
  7. #if !NO_PERF
  8. using ObservableImpl;
  9. #endif
  10. internal partial class QueryLanguage
  11. {
  12. #region + ObserveOn +
  13. public virtual IObservable<TSource> ObserveOn<TSource>(IObservable<TSource> source, IScheduler scheduler)
  14. {
  15. return Synchronization.ObserveOn<TSource>(source, scheduler);
  16. }
  17. #if !NO_SYNCCTX
  18. public virtual IObservable<TSource> ObserveOn<TSource>(IObservable<TSource> source, SynchronizationContext context)
  19. {
  20. return Synchronization.ObserveOn<TSource>(source, context);
  21. }
  22. #endif
  23. #endregion
  24. #region + SubscribeOn +
  25. public virtual IObservable<TSource> SubscribeOn<TSource>(IObservable<TSource> source, IScheduler scheduler)
  26. {
  27. return Synchronization.SubscribeOn<TSource>(source, scheduler);
  28. }
  29. #if !NO_SYNCCTX
  30. public virtual IObservable<TSource> SubscribeOn<TSource>(IObservable<TSource> source, SynchronizationContext context)
  31. {
  32. return Synchronization.SubscribeOn<TSource>(source, context);
  33. }
  34. #endif
  35. #endregion
  36. #region + Synchronize +
  37. public virtual IObservable<TSource> Synchronize<TSource>(IObservable<TSource> source)
  38. {
  39. return Synchronization.Synchronize(source);
  40. }
  41. public virtual IObservable<TSource> Synchronize<TSource>(IObservable<TSource> source, object gate)
  42. {
  43. return Synchronization.Synchronize(source, gate);
  44. }
  45. #endregion
  46. }
  47. }