Exemplo n.º 1
0
        /// <summary>
        /// Class constructor
        /// </summary>
        public PipReference(PipTable pipTable, PipId pipId, PipQueryContext pipQueryContext)
        {
            Contract.Requires(pipTable != null);

            PipTable        = pipTable;
            PipQueryContext = pipQueryContext;
            PipId           = pipId;
        }
Exemplo n.º 2
0
        internal Pip InternalGetOrSetPip(PipTable table, PipId pipId, PipQueryContext context, Func <PipTable, PipId, PageableStoreId, PipQueryContext, Pip> creator)
        {
            lock (this)
            {
                Pip pip;
                if (m_weakPip == null)
                {
                    pip       = creator(table, pipId, StoreId, context);
                    m_weakPip = new WeakReference <Pip>(pip);
                }
                else if (!m_weakPip.TryGetTarget(out pip))
                {
                    m_weakPip.SetTarget(pip = creator(table, pipId, StoreId, context));
                }

                return(pip);
            }
        }
 public Pip GetSealedDirectoryPip(DirectoryArtifact directoryArtifact, PipQueryContext queryContext)
 {
     throw new NotImplementedException();
 }
 public Pip HydratePip(PipId pipId, PipQueryContext queryContext)
 {
     return(m_pips[pipId]);
 }