func()

in go-example-logs-api-extension/agent/logger.go [97:125]


func (l *S3Logger) PushLog(log string) error {
	l.logBuffer.Write([]byte(log))
L:
	for {
		switch l.state {
		case CREATE_BUCKET:
			err := l.createBucket()
			if err != nil {
				return err
			}
			l.state = CREATE_MULTI_PART_UPLOAD
			continue
		case CREATE_MULTI_PART_UPLOAD:
			err := l.createMultiPartUpload()
			if err != nil {
				return err
			}
			l.state = PUT_LOG_PARTS
			continue
		case PUT_LOG_PARTS:
			err := l.putLogParts()
			if err != nil {
				return err
			}
			break L
		}
	}
	return nil
}