예제 #1
0
        internal void FlushNamedStream(TcpBsonNamedStream TcpBsonNamedStream)
        {
            var buffer = TcpBsonNamedStream.GetWriteCacheAndClear();

            if (buffer.Length > 0)
            {
                var package = new TcpBsonPackage
                {
                    Type      = TcpBsonPackageType.NamedStream,
                    DataType  = TcpBsonNamedStream.Name,
                    DataBytes = buffer
                };
                SendPackage(package);
            }
        }
예제 #2
0
 /// <summary>
 /// Gets a named Stream object
 /// </summary>
 /// <param name="name">Stream name</param>
 /// <returns>Named stream</returns>
 public TcpBsonNamedStream GetNamedStream(string name)
 {
     lock (mNamedStreams)
     {
         var found = mNamedStreams.FirstOrDefault(s => s.Name == name);
         if (found != null)
         {
             return(found);
         }
         mNamedStreams.Add(found = new TcpBsonNamedStream(this)
         {
             Name = name
         });
         return(found);
     }
 }