Fs represents a remote mail.ru
| 282 | |
| 283 | // Fs represents a remote mail.ru |
| 284 | type Fs struct { |
| 285 | name string |
| 286 | root string // root path |
| 287 | opt Options // parsed options |
| 288 | ci *fs.ConfigInfo // global config |
| 289 | speedupGlobs []string // list of file name patterns eligible for speedup |
| 290 | speedupAny bool // true if all file names are eligible for speedup |
| 291 | features *fs.Features // optional features |
| 292 | srv *rest.Client // REST API client |
| 293 | cli *http.Client // underlying HTTP client (for authorize) |
| 294 | m configmap.Mapper // config reader (for authorize) |
| 295 | source oauth2.TokenSource // OAuth token refresher |
| 296 | pacer *fs.Pacer // pacer for API calls |
| 297 | metaMu sync.Mutex // lock for meta server switcher |
| 298 | metaURL string // URL of meta server |
| 299 | metaExpiry time.Time // time to refresh meta server |
| 300 | shardMu sync.Mutex // lock for upload shard switcher |
| 301 | shardURL string // URL of upload shard |
| 302 | shardExpiry time.Time // time to refresh upload shard |
| 303 | fileServers serverPool // file server dispatcher |
| 304 | authMu sync.Mutex // mutex for authorize() |
| 305 | passFailed bool // true if authorize() failed after 403 |
| 306 | quirks quirks // internal maintenance flags |
| 307 | } |
| 308 | |
| 309 | // NewFs constructs an Fs from the path, container:path |
| 310 | func NewFs(ctx context.Context, name, root string, m configmap.Mapper) (fs.Fs, error) { |
nothing calls this directly
no outgoing calls
no test coverage detected