Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

reorder fields to reduce size of objects #3008

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 18 additions & 15 deletions p2p/host/resource-manager/limit_defaults.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,12 @@ type baseLimitConfig struct {
// {}BaseLimit is the limits that Apply for a minimal node (128 MB of memory for libp2p) and 256 file descriptors.
// {}LimitIncrease is the additional limit granted for every additional 1 GB of RAM.
type ScalingLimitConfig struct {
ServiceLimits map[string]baseLimitConfig // use AddServiceLimit to modify
ServicePeerLimits map[string]baseLimitConfig // use AddServicePeerLimit to modify
ProtocolLimits map[protocol.ID]baseLimitConfig // use AddProtocolLimit to modify
ProtocolPeerLimits map[protocol.ID]baseLimitConfig // use AddProtocolPeerLimit to modify
PeerLimits map[peer.ID]baseLimitConfig // use AddPeerLimit to modify

SystemBaseLimit BaseLimit
SystemLimitIncrease BaseLimitIncrease

Expand All @@ -36,23 +42,18 @@ type ScalingLimitConfig struct {

ServiceBaseLimit BaseLimit
ServiceLimitIncrease BaseLimitIncrease
ServiceLimits map[string]baseLimitConfig // use AddServiceLimit to modify

ServicePeerBaseLimit BaseLimit
ServicePeerLimitIncrease BaseLimitIncrease
ServicePeerLimits map[string]baseLimitConfig // use AddServicePeerLimit to modify

ProtocolBaseLimit BaseLimit
ProtocolLimitIncrease BaseLimitIncrease
ProtocolLimits map[protocol.ID]baseLimitConfig // use AddProtocolLimit to modify

ProtocolPeerBaseLimit BaseLimit
ProtocolPeerLimitIncrease BaseLimitIncrease
ProtocolPeerLimits map[protocol.ID]baseLimitConfig // use AddProtocolPeerLimit to modify

PeerBaseLimit BaseLimit
PeerLimitIncrease BaseLimitIncrease
PeerLimits map[peer.ID]baseLimitConfig // use AddPeerLimit to modify

ConnBaseLimit BaseLimit
ConnLimitIncrease BaseLimitIncrease
Expand Down Expand Up @@ -347,6 +348,12 @@ func (l *ResourceLimits) Build(defaults Limit) BaseLimit {
}

type PartialLimitConfig struct {
Service map[string]ResourceLimits `json:",omitempty"`
ServicePeer map[string]ResourceLimits `json:",omitempty"`
Protocol map[protocol.ID]ResourceLimits `json:",omitempty"`
ProtocolPeer map[protocol.ID]ResourceLimits `json:",omitempty"`
Peer map[peer.ID]ResourceLimits `json:",omitempty"`

System ResourceLimits `json:",omitempty"`
Transient ResourceLimits `json:",omitempty"`

Expand All @@ -357,19 +364,14 @@ type PartialLimitConfig struct {
AllowlistedTransient ResourceLimits `json:",omitempty"`

ServiceDefault ResourceLimits `json:",omitempty"`
Service map[string]ResourceLimits `json:",omitempty"`

ServicePeerDefault ResourceLimits `json:",omitempty"`
ServicePeer map[string]ResourceLimits `json:",omitempty"`

ProtocolDefault ResourceLimits `json:",omitempty"`
Protocol map[protocol.ID]ResourceLimits `json:",omitempty"`

ProtocolPeerDefault ResourceLimits `json:",omitempty"`
ProtocolPeer map[protocol.ID]ResourceLimits `json:",omitempty"`

PeerDefault ResourceLimits `json:",omitempty"`
Peer map[peer.ID]ResourceLimits `json:",omitempty"`

Conn ResourceLimits `json:",omitempty"`
Stream ResourceLimits `json:",omitempty"`
Expand Down Expand Up @@ -512,6 +514,12 @@ func buildMapWithDefault[K comparable](definedLimits map[K]ResourceLimits, defau
// There is no unset "default" value. Commonly constructed by calling
// PartialLimitConfig.Build(rcmgr.DefaultLimits.AutoScale())
type ConcreteLimitConfig struct {
service map[string]BaseLimit
servicePeer map[string]BaseLimit
protocol map[protocol.ID]BaseLimit
protocolPeer map[protocol.ID]BaseLimit
peer map[peer.ID]BaseLimit

system BaseLimit
transient BaseLimit

Expand All @@ -522,19 +530,14 @@ type ConcreteLimitConfig struct {
allowlistedTransient BaseLimit

serviceDefault BaseLimit
service map[string]BaseLimit

servicePeerDefault BaseLimit
servicePeer map[string]BaseLimit

protocolDefault BaseLimit
protocol map[protocol.ID]BaseLimit

protocolPeerDefault BaseLimit
protocolPeer map[protocol.ID]BaseLimit

peerDefault BaseLimit
peer map[peer.ID]BaseLimit

conn BaseLimit
stream BaseLimit
Expand Down
15 changes: 7 additions & 8 deletions p2p/http/auth/internal/handshake/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,20 +84,19 @@ func (o *opaqueState) Unmarshal(hmacImpl hash.Hash, d []byte) error {
}

type PeerIDAuthHandshakeServer struct {
Hostname string
opaque opaqueState
PrivKey crypto.PrivKey
TokenTTL time.Duration
// used to authenticate opaque blobs and tokens
Hmac hash.Hash

ran bool
buf [1024]byte

state peerIDAuthServerState
Hostname string
p params
hb headerBuilder

opaque opaqueState
TokenTTL time.Duration

state peerIDAuthServerState
buf [1024]byte
ran bool
}

var errInvalidHeader = errors.New("invalid header")
Expand Down