32 lines
510 B
Go
32 lines
510 B
Go
package blob
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
type CloseWriterArgs struct {
|
|
WriterID WriterID
|
|
}
|
|
|
|
type CloseWriterReply struct {
|
|
}
|
|
|
|
func (s *Service) CloseWriter(ctx context.Context, args *CloseWriterArgs, reply *CloseWriterReply) error {
|
|
writer, err := s.getOpenedWriter(args.WriterID)
|
|
if err != nil {
|
|
return errors.WithStack(err)
|
|
}
|
|
|
|
if err := writer.Close(); err != nil {
|
|
return errors.WithStack(err)
|
|
}
|
|
|
|
s.writers.Delete(args.WriterID)
|
|
|
|
*reply = CloseWriterReply{}
|
|
|
|
return nil
|
|
}
|