Exemplo n.º 1
0
        private void ensure_connection(StoreInfo info)
        {
            if (_shop != null)
                return;

            _shop = _io.ConnectWriter(info);
        }
Exemplo n.º 2
0
        private IFunnelsShop get_connection(StoreInfo info)
        {
            if (_shop != null)
                return _shop;

            _shop = _io.ConnectReader(info);
            return _shop;
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        private void close_connection(StoreInfo info)
        {
            if (_shop == null)
                return;

            var shop = _shop;
            _shop = null;

            _io.DisconnectWriter(info, shop);
        }
Exemplo n.º 5
0
        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;
        }
Exemplo n.º 6
0
 ShopInfo IFunnelsResolver.ResolveShop(StoreInfo info)
 {
     _log.Info("Resolver: funnel '{0}' is resolved to '{1}'", info.FunnelId, info.AgentUri);
     return _info;
 }
Exemplo n.º 7
0
 public static IFunnelsShop New(StoreInfo info, IIoC ioc)
 {
     return
         new FunnelsShop(info, ioc);
 }
Exemplo n.º 8
0
 public static IIoWriter New(IIoC ioc, StoreInfo info)
 {
     return
         new IoWriter(ioc, info);
 }
Exemplo n.º 9
0
 private IoWriter(IIoC ioc, StoreInfo info)
 {
     _log = ioc.Resolve<ILogFile>();
     _io = ioc.Resolve<IIoConnector>();
     _info = info;
 }
Exemplo n.º 10
0
 ShopInfo IFunnelsResolver.ResolveShop(StoreInfo info)
 {
     return _impl.ResolveShop(info);
 }
Exemplo n.º 11
0
 ShopInfo IFunnelsShop.RegisterStore(StoreInfo info)
 {
     return _impl.RegisterStore(info);
 }