wireform-core-0.2.0.1: Shared FFI primitives for wireform format packages
Safe HaskellNone
LanguageGHC2021

Wireform.Transport.Config

Synopsis

Profiles

data Profile Source #

High-level performance profile. Most users pick one of these and never touch TransportConfig directly.

Constructors

Throughput

IO-manager-parked. Good citizen on shared systems.

LowLatency

Brief spin before parking, pinned thread, huge pages where available.

UltraLowLatency

Pure busy-poll, pinned to isolated core, huge pages, mlock. Burns one CPU core permanently.

profileConfig :: Profile -> TransportConfig Source #

Expand a profile into a full TransportConfig.

Full configuration

data TransportConfig Source #

Constructors

TransportConfig 

Fields

Instances

Instances details
Show TransportConfig Source # 
Instance details

Defined in Wireform.Transport.Config

Wait policy

data WaitPolicy Source #

Constructors

WaitParkImmediately

Park on the IO manager as soon as caught up.

WaitSpinThenPark !SpinBudget

Busy-spin for the budget, then park.

WaitBusyPoll

Never park. Burns a core.

Instances

Instances details
Show WaitPolicy Source # 
Instance details

Defined in Wireform.Transport.Config

data SpinBudget Source #

Instances

Instances details
Show SpinBudget Source # 
Instance details

Defined in Wireform.Transport.Config

Pinning

data PinningPolicy Source #

Constructors

NoPinning 
PinToCore !Int 
PinToCoreSet ![Int] 
PinNearFd

Auto-detect: pin near the NIC / fd's NUMA node.

PinIsolated

Pick an isolated core (Linux isolcpus=); fall back to PinNearFd.

Instances

Instances details
Show PinningPolicy Source # 
Instance details

Defined in Wireform.Transport.Config

Pages

data PagePolicy Source #

Constructors

StandardPages 
PreferHugePages

Request huge pages; fall back to standard if unavailable.

RequireHugePages

Fail at ring creation if huge pages are unavailable.

Instances

Instances details
Show PagePolicy Source # 
Instance details

Defined in Wireform.Transport.Config

NUMA

io_uring

data SQPollPolicy Source #

Constructors

NoSQPoll 
SQPollWithIdle !Int 

Instances

Instances details
Show SQPollPolicy Source # 
Instance details

Defined in Wireform.Transport.Config

Capability handling

data CapabilityAction Source #

Instances

Instances details
Bounded CapabilityAction Source # 
Instance details

Defined in Wireform.Transport.Config

Enum CapabilityAction Source # 
Instance details

Defined in Wireform.Transport.Config

Read CapabilityAction Source # 
Instance details

Defined in Wireform.Transport.Config

Show CapabilityAction Source # 
Instance details

Defined in Wireform.Transport.Config

Eq CapabilityAction Source # 
Instance details

Defined in Wireform.Transport.Config

Ord CapabilityAction Source # 
Instance details

Defined in Wireform.Transport.Config