private void ensure_connection(StoreInfo info) { if (_shop != null) return; _shop = _io.ConnectWriter(info); }
private IFunnelsShop get_connection(StoreInfo info) { if (_shop != null) return _shop; _shop = _io.ConnectReader(info); return _shop; }
private FunnelsShop(StoreInfo info, IIoC ioc) { _info = info; _sink = ioc.Resolve<IIoSink>(); _que = ioc.Resolve<IIoQueue>(); _io = ioc.Resolve<IIoConnector>(); _writer = IoWriter.New(ioc, info); _reader = IoReader.New(ioc, info); }
private void close_connection(StoreInfo info) { if (_shop == null) return; var shop = _shop; _shop = null; _io.DisconnectWriter(info, shop); }
private IFunnelStore make_funnel_store(string funnelId) { var storeId = Guid.NewGuid(); var agentInfo = _agent.Info; var info = new StoreInfo { AgentId = agentInfo.AgentId, AgentUri = agentInfo.Uri, FunnelId = funnelId, StoreId = storeId }; var shop = FunnelsShop.New(info, _ioc); var store = FunnelStore.New(storeId, shop, _log); store.FunnelId = funnelId; store.DeadAt = DateTime.MaxValue; return store; }
ShopInfo IFunnelsResolver.ResolveShop(StoreInfo info) { _log.Info("Resolver: funnel '{0}' is resolved to '{1}'", info.FunnelId, info.AgentUri); return _info; }
public static IFunnelsShop New(StoreInfo info, IIoC ioc) { return new FunnelsShop(info, ioc); }
public static IIoWriter New(IIoC ioc, StoreInfo info) { return new IoWriter(ioc, info); }
private IoWriter(IIoC ioc, StoreInfo info) { _log = ioc.Resolve<ILogFile>(); _io = ioc.Resolve<IIoConnector>(); _info = info; }
ShopInfo IFunnelsResolver.ResolveShop(StoreInfo info) { return _impl.ResolveShop(info); }
ShopInfo IFunnelsShop.RegisterStore(StoreInfo info) { return _impl.RegisterStore(info); }