Skip to content

Commit 4033409

Browse files
committed
repo sync public>private
1 parent 719f007 commit 4033409

7 files changed

Lines changed: 88 additions & 2 deletions

windows.networking.connectivity/connectioncost_roaming.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Returns `true` when the connection is roaming on a network outside the home prov
1717

1818
## -remarks
1919

20+
2021
## -examples
2122

2223
## -see-also

windows.networking.connectivity/connectionprofile_isdomainauthenticatedby_590452087.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ behavior.
5858
5959

6060
## -see-also
61+
[DomainAuthenticationKind](domainauthenticationkind.md)
62+
[ConnectionProfile](connectionprofile.md)
6163

6264
[ConnectionProfile](connectionprofile.md),
6365
[DomainAuthenticationKind](domainauthenticationkind.md)

windows.networking.connectivity/connectivityinterval_starttime.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ window's start; the returned duration will be truncated accordingly.
2727
> [!TIP]
2828
> When stitching results from overlapping queries, de-duplicate intervals by `StartTime`.
2929
30+
> [!TIP]
31+
> When stitching results from overlapping queries, de‑duplicate intervals by **StartTime**.
32+
3033
## -examples
3134
Enumerate recent interval start times (C#):
3235

windows.networking.connectivity/dataplanstatus.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,42 @@ If `DataPlanStatus` is null or critical fields are missing:
5656
> to sensible minimums before applying heuristics.
5757
5858

59+
### Null handling
60+
> [!IMPORTANT]
61+
> Always null‑check the returned **DataPlanStatus**. Some profiles (for example unmanaged Wi‑Fi hotspots) do not expose
62+
> plan information and return null.
63+
64+
### Core elements
65+
| Property | Meaning / Guidance |
66+
| -- | -- |
67+
| [DataPlanUsage](dataplanusage.md) | Current measured usage (may lag real traffic) |
68+
| DataLimitInMegabytes | Plan cap (nullable). Null => unspecified limit (do not assume unlimited) |
69+
| MaxTransferSizeInMegabytes | Recommended maximum size for a single transfer (chunk large sync into segments) |
70+
| NextBillingCycle | Start of next cycle (nullable). Do not assume calendar month boundaries |
71+
72+
### Quota logic guidelines
73+
- Interpret **DataPlanUsage** together with **DataLimitInMegabytes**. A missing limit means you cannot enforce a hard cap safely.
74+
- Use both percentage consumed and time remaining before throttling; early-cycle high usage does not always justify restriction.
75+
- Treat missing **DataLimitInMegabytes** as "unspecified" rather than "unlimited".
76+
77+
### Transfer optimization
78+
- Honor **MaxTransferSizeInMegabytes** by batching work into chunks at or below the recommendation.
79+
- For background sync on metered or limited plans, schedule incremental commits instead of monolithic uploads.
80+
81+
### Billing cycle handling
82+
- **NextBillingCycle** may be absent; fall back to rolling usage display without reset logic.
83+
- When present, derive remaining quota window precisely; operators define custom cycle boundaries.
84+
85+
### Fallback behavior
86+
If **DataPlanStatus** is null or critical fields are missing:
87+
- Present generic usage UI without enforcement.
88+
- Allow user override for "treat as metered" or "treat as unrestricted" preferences if your app supports it.
89+
90+
> [!NOTE]
91+
> Defensive coding: Providers can report unexpected values (like zero or very small **MaxTransferSizeInMegabytes**). Clamp
92+
> to sensible minimums before applying heuristics.
93+
94+
5995
## -examples
6096
### Example (C#):
6197

windows.networking.connectivity/domainauthenticationkind.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Specifies the domain authentication method for an Active Directory network; and/
2424

2525
### -field Tls: 2
2626

27-
Specifies the Transport Layer Security (TLS) domain authentication method; and/or that the network connection was able to successfully complete a HTTPS connection with verified TLS authentication to an endpoint configured by the `AllowedTlsAuthenticationEndpoints` Mobile Device Management (MDM) policy.
27+
Specifies the Transport Layer Security (TLS) domain authentication method; and/or that the network connection was able to successfully complete a HTTPS connection with verified TLS authentication to an endpoint configured by the **AllowedTlsAuthenticationEndpoints** Mobile Device Management (MDM) policy.
2828

2929
## -remarks
3030
### Semantics

windows.networking.connectivity/networkcosttype.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,50 @@ if (cost.Roaming)
100100
}
101101
```
102102

103+
// Base operating mode
104+
if (unrestricted && !cost.Roaming && !cost.BackgroundDataUsageRestricted)
105+
{
106+
// App-specific: enable high-bandwidth features (e.g., HD media sync)
107+
}
108+
else
109+
{
110+
// App-specific: enter conservative mode (reduced quality / deferred background work)
111+
}
112+
113+
// Progressive constraints
114+
if (cost.ApproachingDataLimit)
115+
{
116+
// App-specific: reduce bitrate / quality to stay within plan (e.g., target ~1.5 Mbps)
117+
}
118+
119+
if (cost.OverDataLimit)
120+
{
121+
// App-specific: pause non-essential background synchronization
122+
}
123+
124+
if (cost.BackgroundDataUsageRestricted)
125+
{
126+
// App-specific: defer background-only telemetry / analytics
127+
}
128+
129+
if (cost.Roaming)
130+
{
131+
// App-specific: compress or batch large payload transfers while roaming
132+
}
133+
134+
// Optional: adapt chunk sizing based on plan type
135+
{
136+
// Evaluate only when needed for this decision branch.
137+
bool fixedPlan = cost.NetworkCostType == NetworkCostType.Fixed;
138+
bool variable = cost.NetworkCostType == NetworkCostType.Variable;
139+
if (fixedPlan || variable)
140+
{
141+
var chunkSizeMb = cost.MaxTransferSizeInMegabytes ?? 8; // choose smaller transfer chunks
142+
// App-specific: apply chunkSizeMb constraint to large uploads/downloads
143+
}
144+
}
145+
```
146+
103147
## -see-also
104148
105149
[DataPlanStatus](dataplanstatus.md),

windows.web.http/httpresponsemessage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class HttpResponseMessage : Windows.Foundation.IClosable, Windows.Foundat
1313
Represents an HTTP response message including headers, the status code, and data.
1414

1515
## -remarks
16-
A common way to get an HttpResponseMessage is the from the return value for one of the [DeleteAsync](httpclient_deleteasync_820543917.md), [GetAsync](httpclient_getasync_1105627628.md), [PostAsync](httpclient_postasync_1466488101.md) , [PutAsync](httpclient_putasync_552115331.md), or [SendRequestAsync](httpclient_sendrequestasync_234300504.md) methods on the [HttpClient](httpclient.md) object.
16+
A common way to get an HttpResponseMessage is from the return value of one of the [DeleteAsync](httpclient_deleteasync_820543917.md), [GetAsync](httpclient_getasync_1105627628.md), [PostAsync](httpclient_postasync_1466488101.md) , [PutAsync](httpclient_putasync_552115331.md), or [SendRequestAsync](httpclient_sendrequestasync_234300504.md) methods on the [HttpClient](httpclient.md) object.
1717

1818
## -examples
1919

0 commit comments

Comments
 (0)