ensure 64 bit alignment for 64 bit struct fields access atomically
This commit is contained in:
parent
14d1b82f6b
commit
ea0bf5e4c8
2 changed files with 8 additions and 7 deletions
|
@ -20,6 +20,9 @@ import (
|
|||
|
||||
// BaseConnection defines common fields for a connection using any supported protocol
|
||||
type BaseConnection struct {
|
||||
// last activity for this connection.
|
||||
// Since this is accessed atomically we put as first element of the struct achieve 64 bit alignment
|
||||
lastActivity int64
|
||||
// Unique identifier for the connection
|
||||
ID string
|
||||
// user associated with this connection if any
|
||||
|
@ -29,8 +32,6 @@ type BaseConnection struct {
|
|||
protocol string
|
||||
Fs vfs.Fs
|
||||
sync.RWMutex
|
||||
// last activity for this connection
|
||||
lastActivity int64
|
||||
transferID uint64
|
||||
activeTransfers []ActiveTransfer
|
||||
}
|
||||
|
|
|
@ -21,20 +21,20 @@ var (
|
|||
// BaseTransfer contains protocols common transfer details for an upload or a download.
|
||||
type BaseTransfer struct { //nolint:maligned
|
||||
ID uint64
|
||||
BytesSent int64
|
||||
BytesReceived int64
|
||||
Fs vfs.Fs
|
||||
File vfs.File
|
||||
Connection *BaseConnection
|
||||
cancelFn func()
|
||||
fsPath string
|
||||
requestPath string
|
||||
start time.Time
|
||||
transferType int
|
||||
MaxWriteSize int64
|
||||
MinWriteOffset int64
|
||||
InitialSize int64
|
||||
isNewFile bool
|
||||
requestPath string
|
||||
BytesSent int64
|
||||
BytesReceived int64
|
||||
MaxWriteSize int64
|
||||
transferType int
|
||||
AbortTransfer int32
|
||||
sync.Mutex
|
||||
ErrTransfer error
|
||||
|
|
Loading…
Reference in a new issue