mirror of
https://github.com/RubyMetric/chsrc
synced 2026-02-02 15:50:29 +08:00
增加 chef_set_source_smurl
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
! Contributors : Nul None <nul@none.org>
|
||||
! |
|
||||
! Created On : <2025-08-11>
|
||||
! Last Modified : <2025-08-11>
|
||||
! Last Modified : <2026-01-21>
|
||||
! ---------------------------------------------------------- -->
|
||||
|
||||
# 新增/修改 "换源链接"
|
||||
@@ -24,6 +24,11 @@ def_sources_begin()
|
||||
{&Tencent, "https://mirrors.cloud.tencent.com/npm/", FeedByPrelude},
|
||||
{&某新镜像站, "某镜像站提供的换源链接", FeedByPrelude}
|
||||
def_sources_end()
|
||||
|
||||
//
|
||||
|
||||
// 调整上述某一个镜像站的所提供源的 "换源链接"
|
||||
chef_set_source_url (this, &UpstreamProvider, "新的换源链接");
|
||||
```
|
||||
|
||||
<br>
|
||||
@@ -51,13 +56,17 @@ def_sources_begin()
|
||||
{&Tencent, "https://mirrors.cloud.tencent.com/npm/", FeedByPrelude},
|
||||
def_sources_end()
|
||||
|
||||
//
|
||||
|
||||
// 调整/设置上述某一个镜像站的所提供源的 "精准测速链接"
|
||||
chef_set_source_smurl (this, &UpstreamProvider, "新的测速链接")
|
||||
// 把所有上述源的 "测速链接" 设置为 "换源链接" + postfix
|
||||
chef_set_sources_speed_measure_url_with_postfix (this, "/dir/BigFile.tar.gz");
|
||||
// 基于 "换源链接" 做更自定义的操作
|
||||
chef_set_sources_speed_measure_url_with_func (this, func, data);
|
||||
|
||||
// 调整某一个镜像站(Provider)的 "测速链接"
|
||||
chef_set_provider_speed_measure_url (&Tencent, "https://mirrors.cloud.tencent.com/npm/BigFile.tar.gz")
|
||||
chef_set_provider_speed_measure_url (&Tencent, "https://mirrors.cloud.tencent.com/npm/BigFile.tar.gz");
|
||||
// 调整某一个镜像站(Provider)的 "测速精度"
|
||||
chef_set_provider_speed_measure_accuracy (&UpstreamProvider, ROUGH);;
|
||||
chef_set_provider_speed_measure_accuracy (&UpstreamProvider, ROUGH);
|
||||
```
|
||||
|
||||
@@ -164,6 +164,10 @@ chef_set_sources_speed_measure_url_with_postfix (Target_t *target, char *postfix
|
||||
void
|
||||
chef_set_source_url (Target_t *target, SourceProvider_t *provider, char *url)
|
||||
{
|
||||
xy_cant_be_null (target);
|
||||
xy_cant_be_null (provider);
|
||||
xy_cant_be_null (url);
|
||||
|
||||
for (int i=0; i < target->sources_n; i++)
|
||||
{
|
||||
Source_t *src = &target->sources[i];
|
||||
@@ -178,6 +182,32 @@ chef_set_source_url (Target_t *target, SourceProvider_t *provider, char *url)
|
||||
xy_unreached();
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置 或 修改 某个镜像站的 *精准*测速链接
|
||||
*
|
||||
* sm = speed measure
|
||||
*/
|
||||
void
|
||||
chef_set_source_smurl (Target_t *target, SourceProvider_t *provider, char *url)
|
||||
{
|
||||
xy_cant_be_null (target);
|
||||
xy_cant_be_null (provider);
|
||||
xy_cant_be_null (url);
|
||||
|
||||
for (int i=0; i < target->sources_n; i++)
|
||||
{
|
||||
Source_t *src = &target->sources[i];
|
||||
SourceProvider_t *p = src->provider;
|
||||
if (p == provider)
|
||||
{
|
||||
src->speed_measure_url = xy_strdup (url);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
xy_unreached();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @note 用于: 组中的 item target 在 standalone 模式时正确填充源信息
|
||||
|
||||
@@ -181,7 +181,7 @@ Target_t;
|
||||
* def_sources_end()
|
||||
*
|
||||
* 若是出于代码美观考虑,上述第三列可以写 FeedByPrelude,然后下面调用函数来填充:
|
||||
* chef_set_source_speed_measure_url()
|
||||
* chef_set_source_smurl()
|
||||
* chef_set_sources_speed_measure_url_with_postfix()
|
||||
* chef_set_sources_speed_measure_url_with_func()
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user