Example #1
0
 /// <exception cref="System.IO.IOException"/>
 internal DfsClientShm(ShortCircuitShm.ShmId shmId, FileInputStream stream, DfsClientShmManager.EndpointShmManager
                       manager, DomainPeer peer)
     : base(shmId, stream)
 {
     this.manager = manager;
     this.peer    = peer;
 }
 /// <exception cref="System.IO.IOException"/>
 public virtual ShortCircuitShm.Slot AllocSlot(DatanodeInfo datanode, DomainPeer peer
                                               , MutableBoolean usedPeer, ExtendedBlockId blockId, string clientName)
 {
     Lock.Lock();
     try
     {
         if (closed)
         {
             Log.Trace(this + ": the DfsClientShmManager isclosed.");
             return(null);
         }
         DfsClientShmManager.EndpointShmManager shmManager = datanodes[datanode];
         if (shmManager == null)
         {
             shmManager          = new DfsClientShmManager.EndpointShmManager(this, datanode);
             datanodes[datanode] = shmManager;
         }
         return(shmManager.AllocSlot(peer, usedPeer, clientName, blockId));
     }
     finally
     {
         Lock.Unlock();
     }
 }