Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 15 for CloseWithError (0.32 sec)

  1. internal/ioutil/wait_pipe.go

    	once sync.Once
    	done func()
    }
    
    // CloseWithError close with supplied error the writer end.
    func (w *PipeWriter) CloseWithError(err error) error {
    	err = w.PipeWriter.CloseWithError(err)
    	w.once.Do(func() {
    		w.done()
    	})
    	return err
    }
    
    // PipeReader is similar to io.PipeReader with wait group
    type PipeReader struct {
    	*io.PipeReader
    	wait func()
    }
    
    // CloseWithError close with supplied error the reader end
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Thu Apr 27 14:55:36 UTC 2023
    - 1.7K bytes
    - Viewed (0)
  2. cmd/mrf.go

    			n, err := mw.Write(data[:])
    			if err != nil {
    				w.CloseWithError(err)
    				return
    			}
    			if n != len(data) {
    				w.CloseWithError(io.ErrShortWrite)
    				return
    			}
    			for item := range m.opCh {
    				err = item.EncodeMsg(mw)
    				if err != nil {
    					break
    				}
    			}
    			mw.Flush()
    			w.CloseWithError(err)
    		}()
    		return r
    	}
    
    	globalLocalDrivesMu.RLock()
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Tue Aug 13 22:26:05 UTC 2024
    - 6.5K bytes
    - Viewed (0)
  3. cmd/sftp-server-driver.go

    func (w *writerAt) TransferError(err error) {
    	_ = w.w.CloseWithError(err)
    	_ = w.r.CloseWithError(err)
    	w.err = err
    }
    
    func (w *writerAt) Close() (err error) {
    	switch {
    	case len(w.buffer) > 0:
    		err = errors.New("some file segments were not flushed from the queue")
    		_ = w.w.CloseWithError(err)
    	case w.err != nil:
    		// No need to close here since both pipes were
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed Jun 05 07:51:13 UTC 2024
    - 11.1K bytes
    - Viewed (0)
  4. cmd/bitrot-streaming.go

    	rb := ringbuffer.NewBuffer(buf[:cap(buf)]).SetBlocking(true)
    
    	bw := &streamingBitrotWriter{
    		iow:          ioutil.NewDeadlineWriter(rb.WriteCloser(), globalDriveConfig.GetMaxTimeout()),
    		closeWithErr: rb.CloseWithError,
    		h:            h,
    		shardSize:    shardSize,
    		canClose:     &sync.WaitGroup{},
    		byteBuf:      buf,
    	}
    	bw.canClose.Add(1)
    	go func() {
    		defer bw.canClose.Done()
    
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed Aug 21 12:20:54 UTC 2024
    - 6K bytes
    - Viewed (0)
  5. internal/ringbuffer/ring_buffer.go

    	r.mu.Lock()
    	defer r.mu.Unlock()
    
    	return !r.isFull && r.w == r.r
    }
    
    // CloseWithError closes the writer; reads will return
    // no bytes and the error err, or EOF if err is nil.
    //
    // CloseWithError never overwrites the previous error if it exists
    // and always returns nil.
    func (r *RingBuffer) CloseWithError(err error) {
    	if err == nil {
    		err = io.EOF
    	}
    	r.setErr(err, false)
    }
    
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed May 15 00:11:04 UTC 2024
    - 13.3K bytes
    - Viewed (0)
  6. internal/ringbuffer/ring_buffer_test.go

    	}
    	if err := rb.Flush(); err != (testError1{}) {
    		t.Errorf("Write error: got %T, want testError1", err)
    	}
    
    	rb.CloseWithError(testError2{})
    	if _, err := rb.Write(nil); err != (testError1{}) {
    		t.Errorf("Write error: got %T, want testError1", err)
    	}
    
    	rb.Reset()
    	rb.CloseWithError(testError1{})
    	if _, err := rb.Read(nil); err != (testError1{}) {
    		t.Errorf("Read error: got %T, want testError1", err)
    	}
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed May 15 00:11:04 UTC 2024
    - 26.8K bytes
    - Viewed (0)
  7. internal/ringbuffer/README.md

    `TryRead` and `TryWrite` are still available for non-blocking reads and writes.
    
    To signify the end of the stream, close the ring buffer from the writer side with `rb.CloseWriter()`
    
    Either side can use `rb.CloseWithError(err error)` to signal an error and close the ring buffer. 
    Any reads or writes will return the error on next call.
    
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed May 15 00:11:04 UTC 2024
    - 2.1K bytes
    - Viewed (0)
  8. cmd/storage-rest-server.go

    	tmp := make([]byte, len(b))
    	copy(tmp, b)
    	h.block <- tmp
    	return len(b), h.err
    }
    
    // CloseWithError will close the stream and return the specified error.
    // This can be done several times, but only the first error will be sent.
    // After calling this the stream should not be written to.
    func (h *httpStreamResponse) CloseWithError(err error) {
    	if h.done == nil {
    		return
    	}
    	h.done <- err
    	h.err = err
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Wed Aug 14 17:11:51 UTC 2024
    - 45.7K bytes
    - Viewed (0)
  9. cmd/storage-rest-client.go

    	pr, pw := io.Pipe()
    	go func() {
    		pw.CloseWithError(waitForHTTPStream(respBody, ioutil.NewDeadlineWriter(pw, globalDriveConfig.GetMaxTimeout())))
    	}()
    	mr := msgp.NewReader(pr)
    	defer readMsgpReaderPoolPut(mr)
    	for {
    		var file ReadMultipleResp
    		if err := file.DecodeMsg(mr); err != nil {
    			if errors.Is(err, io.EOF) {
    				err = nil
    			}
    			pr.CloseWithError(err)
    			return toStorageErr(err)
    		}
    		select {
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Sun Oct 13 13:07:21 UTC 2024
    - 30.2K bytes
    - Viewed (0)
  10. cmd/metacache-set.go

    			go func() {
    				werr := er.getObjectWithFileInfo(ctx, minioMetaBucket, o.objectPath(partN), 0,
    					fi.Size, pw, fi, metaArr, onlineDisks)
    				pw.CloseWithError(werr)
    			}()
    
    			tmp := newMetacacheReader(pr)
    			e, err := tmp.filter(o)
    			pr.CloseWithError(err)
    			tmp.Close()
    			entries.o = append(entries.o, e.o...)
    			if o.Limit > 0 && entries.len() > o.Limit {
    				entries.truncate(o.Limit)
    Registered: Sun Nov 03 19:28:11 UTC 2024
    - Last Modified: Fri Jul 12 16:23:16 UTC 2024
    - 30.7K bytes
    - Viewed (0)
Back to top