         
         // set initial MTU and register handlers
         self.maximumPreparedWrites = maximumPreparedWrites
+        self.preferredMaximumTransmissionUnit = maximumTransmissionUnit
         self.connection = ATTConnection(socket: socket)
-        self.connection.maximumTransmissionUnit = maximumTransmissionUnit
         self.registerATTHandlers()
     }
     

    
    private func exchangeMTU(_ pdu: ATTMaximumTransmissionUnitRequest) {
        
        let serverMTU = connection.maximumTransmissionUnit.rawValue
        
        let finalMTU = ATTMaximumTransmissionUnit(server: serverMTU, client: pdu.clientMTU)
        

    
    public let maximumPreparedWrites: Int
    
    public private(set) var maximumTransmissionUnit: ATTMaximumTransmissionUnit = .default {
        
        // update connection with new value
        didSet { connection.maximumTransmissionUnit = maximumTransmissionUnit }
    }
    
    public let preferredMaximumTransmissionUnit: ATTMaximumTransmissionUnit
    
    // Don't modify
    @_versioned
