using Edge.Core.Processor; using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; namespace Edge.Core.UniversalApi { public interface ICommunicationProvider : IDisposable { public Task<bool> RouteEventAsync(IProcessor eventSource, EventDescriptor eventDescriptor); /// <summary> /// Create API receiver(stub) for handle API calls. /// this method could be called multiple times due to hot-reload processors feature. /// </summary> /// <param name="processors"></param> /// <returns></returns> public Task SetupAsync(IEnumerable<IProcessor> processors); public IEnumerable<UniversalApiInfoDoc> GetApiDocuments(); } }