public void PushMessages(IEnumerable <CommandMessage> messages) { if (_disposed) { throw new ObjectDisposedException(this.GetType().FullName); } if (_protocolVersion == ProtocolVersion.Version1) { Stream stream = new BufferStream(_bufferManager); try { var message = new CommandsMessage(); message.CommandMessages.AddRange(messages); stream = new JoinStream(stream, message.Export(_bufferManager)); _connection.Send(stream, _sendTimeSpan); _lastSendTime = DateTime.UtcNow; } catch (ConnectionException) { this.OnClose(new EventArgs()); } finally { stream.Close(); } } else { throw new ConnectionManagerException(); } }
public void Unir(string fichero, string dirDest, JoinInfo info) { byte[] buffer = new byte[Consts.BUFFER_LENGTH]; int leidos = 0; long transferidos = 0; OnProgress (0, info.Length); Stream fos = UtilidadesFicheros.CreateWriter (dirDest + Path.DirectorySeparatorChar + info.OriginalFile); Stream fis = new JoinStream (info); while ((leidos = fis.Read(buffer, 0, buffer.Length)) > 0) { transferidos += leidos; fos.Write (buffer, 0, leidos); OnProgress (transferidos, info.Length); } fis.Close (); fos.Close (); }