BaseConnection struct: ensure 64 bit alignment

Fixes #516
This commit is contained in:
Nicola Murino 2021-08-28 12:23:29 +02:00
parent d03020e2b8
commit 69c3a85ea5
No known key found for this signature in database
GPG key ID: 2F1FB59433D5A8CB

View file

@ -21,8 +21,11 @@ import (
// BaseConnection defines common fields for a connection using any supported protocol // BaseConnection defines common fields for a connection using any supported protocol
type BaseConnection struct { type BaseConnection struct {
// last activity for this connection. // last activity for this connection.
// Since this is accessed atomically we put as first element of the struct achieve 64 bit alignment // Since this field is accessed atomically we put it as first element of the struct to achieve 64 bit alignment
lastActivity int64 lastActivity int64
// unique ID for a transfer.
// This field is accessed atomically so we put it at the beginning of the struct to achieve 64 bit alignment
transferID uint64
// Unique identifier for the connection // Unique identifier for the connection
ID string ID string
// user associated with this connection if any // user associated with this connection if any
@ -32,7 +35,6 @@ type BaseConnection struct {
protocol string protocol string
remoteAddr string remoteAddr string
sync.RWMutex sync.RWMutex
transferID uint64
activeTransfers []ActiveTransfer activeTransfers []ActiveTransfer
} }