Пример #1
0
        public Stream GetStream(ProtoStream stream)
        {
            Require.NotNull(stream, "stream");

            if (stream.Length > MaxStreamSize)
                return null;
            else
                return new MemoryStream();
        }
Пример #2
0
        public Stream GetStream(ProtoStream stream)
        {
            Require.NotNull(stream, "stream");

            if (stream.Length > MaxStreamSize)
                return null;

            if (stream.Length > MaxMemoryStreamSize)
                return _diskStreamManager.GetStream(stream);
            else
                return _memoryStreamManager.GetStream(stream);
        }
Пример #3
0
        public Stream GetStream(ProtoStream stream)
        {
            Require.NotNull(stream, "stream");

            if (stream.Length > MaxStreamSize)
                return null;

            while (true)
            {
                string fileName = System.IO.Path.Combine(Path, Guid.NewGuid().ToString());

                if (!File.Exists(fileName))
                    return File.Create(fileName, 0x4000, FileOptions.DeleteOnClose);
            }
        }
Пример #4
0
        public bool RegisterStream(int associationId, Messages.StartStream message)
        {
            var protoStream = new ProtoStream(message.Length, message.StreamName, message.ContentType, null);

            var stream = _streamManager.GetStream(protoStream);

            if (stream == null)
                return false;

            var pendingStream = new PendingReceiveStream(
                message.Length, message.StreamName, message.ContentType, associationId, stream
            );

            _streams.Add(pendingStream.AssociationId, pendingStream);

            return true;
        }