socket-function 1.1.49 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/SetProcessVariables.ts.cache +9 -0
  2. package/dist/SocketFunction.ts.cache +467 -0
  3. package/hot/dist/HotReloadController.ts.cache +252 -0
  4. package/index.d.ts +1 -16
  5. package/package.json +1 -1
  6. package/require/dist/RequireController.ts.cache +386 -0
  7. package/require/dist/compileFlags.ts.cache +41 -0
  8. package/require/dist/extMapper.ts.cache +368 -0
  9. package/require/dist/require.ts.cache +676 -0
  10. package/src/JSONLACKS/dist/JSONLACKS.ts.cache +469 -0
  11. package/src/dist/CallFactory.ts.cache +930 -0
  12. package/src/dist/Zip.ts.cache +156 -0
  13. package/src/dist/batching.ts.cache +377 -0
  14. package/src/dist/bits.ts.cache +121 -0
  15. package/src/dist/buffers.ts.cache +76 -0
  16. package/src/dist/caching.ts.cache +302 -0
  17. package/src/dist/callHTTPHandler.ts.cache +264 -0
  18. package/src/dist/callManager.ts.cache +159 -0
  19. package/src/dist/certStore.ts.cache +59 -0
  20. package/src/dist/createSingleton.ts.cache +62 -0
  21. package/src/dist/fixLargeNetworkCalls.ts.cache +17 -0
  22. package/src/dist/forwardPort.ts.cache +222 -0
  23. package/src/dist/https.ts.cache +141 -0
  24. package/src/dist/misc.ts.cache +499 -0
  25. package/src/dist/nodeCache.ts.cache +136 -0
  26. package/src/dist/nodeProxy.ts.cache +57 -0
  27. package/src/dist/protocolNegotiation.ts.cache +101 -0
  28. package/src/dist/tlsParsing.ts.cache +85 -0
  29. package/src/dist/types.ts.cache +9 -0
  30. package/src/dist/webSocketServer.ts.cache +365 -0
  31. package/src/dist/websocketFactory.ts.cache +53 -0
  32. package/src/formatting/dist/colors.ts.cache +98 -0
  33. package/src/formatting/dist/format.ts.cache +396 -0
  34. package/src/formatting/dist/logColors.ts.cache +28 -0
  35. package/src/lz4/dist/LZ4.ts.cache +53 -0
  36. package/src/profiling/dist/getOwnTime.ts.cache +100 -0
  37. package/src/profiling/dist/measure.ts.cache +338 -0
  38. package/src/profiling/dist/stats.ts.cache +202 -0
  39. package/src/profiling/dist/statsFormat.ts.cache +45 -0
  40. package/src/profiling/getOwnTime.ts +7 -1
  41. package/src/profiling/measure.ts +25 -16
  42. package/test.ts +11 -5
  43. package/time/dist/trueTimeShim.ts.cache +656 -0
  44. package/time/trueTimeShim.d.ts +1 -16
  45. package/time/trueTimeShim.ts +7 -43
@@ -15,28 +15,13 @@ export declare function getTimeComponentsDetailed(): {
15
15
  fromTime: number;
16
16
  toTime: number;
17
17
  };
18
- export declare function computeTweenedOffset(components: {
19
- systemTime: number;
20
- fromOffset: number;
21
- toOffset: number;
22
- fromTime: number;
23
- }): number;
24
18
  export declare function getTimeComponents(): {
25
19
  systemTime: number;
26
20
  offset: number;
27
21
  };
28
22
  export declare function getTrueTime(): number;
29
23
  export declare function getTrueTimeOffset(): number;
30
- export type TrueTimeProof = {
31
- systemTime: number;
32
- fromOffset: number;
33
- toOffset: number;
34
- fromTime: number;
35
- toTime: number;
36
- offset: number;
37
- measurement?: TimeOffsetProof;
38
- };
39
- export declare function getTrueTimeProof(): TrueTimeProof | undefined;
24
+ export declare function getTrueTimeProof(): TimeOffsetProof | undefined;
40
25
  export declare function waitForFirstTimeSync(): Promise<void> | undefined;
41
26
  declare global {
42
27
  var TRUE_TIME_ALREADY_SHIMMED: boolean;
@@ -22,9 +22,6 @@ const NTP_TIMEOUT = 1000 * 10;
22
22
  // the real time to catch up with it.
23
23
  const MINIMUM_TIME_RATE = 0.5;
24
24
 
25
- // The offset tweens toward its target at this fraction of elapsed real time, then plateaus once it gets there. Must stay below 1 so output time keeps moving forward even while the offset is shrinking. Tweening across the whole transition window instead would mean a badly-off clock (many seconds) takes the entire window to converge, which breaks transactional consistency with other machines.
26
- const OFFSET_TWEEN_RATE = 0.5;
27
-
28
25
  const THROW_ON_ERROR = false;
29
26
 
30
27
  // Hugely important as if we don't synchronize between processes, it means our logs are going to be confusing and out of order.
@@ -141,24 +138,13 @@ export function getTimeComponentsDetailed(): {
141
138
  }
142
139
  }
143
140
 
144
- export function computeTweenedOffset(components: {
145
- systemTime: number;
146
- fromOffset: number;
147
- toOffset: number;
148
- fromTime: number;
149
- }): number {
150
- const elapsed = Math.max(0, components.systemTime - components.fromTime);
151
- const delta = components.toOffset - components.fromOffset;
152
- const maxChange = elapsed * OFFSET_TWEEN_RATE;
153
- if (Math.abs(delta) <= maxChange) {
154
- return components.toOffset;
155
- }
156
- return components.fromOffset + Math.sign(delta) * maxChange;
157
- }
158
-
159
141
  export function getTimeComponents(): { systemTime: number; offset: number } {
160
142
  const detailed = getTimeComponentsDetailed();
161
- return { systemTime: detailed.systemTime, offset: computeTweenedOffset(detailed) };
143
+ const elapsed = detailed.systemTime - detailed.fromTime;
144
+ const duration = detailed.toTime - detailed.fromTime;
145
+ const fraction = duration > 0 ? Math.min(1, elapsed / duration) : 0;
146
+ const offset = detailed.fromOffset + (detailed.toOffset - detailed.fromOffset) * fraction;
147
+ return { systemTime: detailed.systemTime, offset };
162
148
  }
163
149
 
164
150
  export function getTrueTime() {
@@ -188,30 +174,8 @@ export function getTrueTimeOffset() {
188
174
  const { offset } = getTimeComponents();
189
175
  return offset;
190
176
  }
191
- export type TrueTimeProof = {
192
- systemTime: number;
193
- // The tween endpoints the current offset is moving between. When offset !== toOffset we are still converging.
194
- fromOffset: number;
195
- toOffset: number;
196
- fromTime: number;
197
- toTime: number;
198
- offset: number;
199
- // The raw measurement that produced the newest offset. Undefined if the offset came from a caller-provided base that only returns numbers.
200
- measurement?: TimeOffsetProof;
201
- };
202
- export function getTrueTimeProof(): TrueTimeProof | undefined {
203
- const data = cachedTimeOffsetData;
204
- if (!data) return undefined;
205
- const detailed = getTimeComponentsDetailed();
206
- return {
207
- systemTime: detailed.systemTime,
208
- fromOffset: detailed.fromOffset,
209
- toOffset: detailed.toOffset,
210
- fromTime: detailed.fromTime,
211
- toTime: detailed.toTime,
212
- offset: computeTweenedOffset(detailed),
213
- measurement: data.proof,
214
- };
177
+ export function getTrueTimeProof(): TimeOffsetProof | undefined {
178
+ return cachedTimeOffsetData?.proof;
215
179
  }
216
180
  export function waitForFirstTimeSync(): Promise<void> | undefined {
217
181
  if (didFirstTimeSync) return undefined;