1
1
import type { ClientCryptoOps , ServerCryptoOps } from '#types.js' ;
2
- import Logger , { formatting , LogLevel , StreamHandler } from '@matrixai/logger' ;
3
- import * as testsUtils from './tests/utils.js' ;
4
- import { generateTLSConfig } from './tests/utils.js' ;
2
+ import Logger , {
3
+ formatting ,
4
+ LogLevel ,
5
+ StreamHandler ,
6
+ tracer ,
7
+ } from '@matrixai/logger' ;
5
8
import * as events from '#events.js' ;
6
9
import * as utils from '#utils.js' ;
10
+ import * as testsUtils from './utils.js' ;
7
11
import QUICServer from '#QUICServer.js' ;
8
12
import QUICClient from '#QUICClient.js' ;
9
13
import QUICStream from '#QUICStream.js' ;
10
14
15
+ const p = ( async ( ) => {
16
+ const fs = await import ( 'node:fs' ) ;
17
+ const spanFile = await fs . promises . open ( 'span.jsonl' , 'w' ) ;
18
+ const gen = tracer . streamEvents ( ) ;
19
+ for await ( const event of gen ) {
20
+ await spanFile . write ( JSON . stringify ( event ) + '\n' ) ;
21
+ }
22
+ await spanFile . close ( ) ;
23
+ } ) ( ) ;
24
+
11
25
const main = async ( ) => {
12
26
const logger = new Logger ( `${ QUICStream . name } Test` , LogLevel . WARN , [
13
27
new StreamHandler (
@@ -25,10 +39,8 @@ const main = async () => {
25
39
randomBytes : testsUtils . randomBytes ,
26
40
} ;
27
41
const message = Buffer . from ( 'The Quick Brown Fox Jumped Over The Lazy Dog' ) ;
28
- const numStreams = 10 ;
29
- const numMessage = 10 ;
30
42
const connectionEventProm = utils . promise < events . EventQUICServerConnection > ( ) ;
31
- const tlsConfig = await generateTLSConfig ( 'RSA' ) ;
43
+ const tlsConfig = await testsUtils . generateTLSConfig ( 'RSA' ) ;
32
44
const server = new QUICServer ( {
33
45
crypto : {
34
46
key,
@@ -75,7 +87,7 @@ const main = async () => {
75
87
) ;
76
88
77
89
// Let's make a new streams.
78
- for ( let i = 0 ; i < 100000 ; i ++ ) {
90
+ for ( let i = 0 ; i < 1000 ; i ++ ) {
79
91
const stream = client . connection . newStream ( ) ;
80
92
const writer = stream . writable . getWriter ( ) ;
81
93
const reader = stream . readable . getReader ( ) ;
@@ -100,6 +112,8 @@ const main = async () => {
100
112
101
113
await client . destroy ( { force : true } ) ;
102
114
await server . stop ( { force : true } ) ;
115
+ tracer . endTracing ( ) ;
116
+ await p ;
103
117
console . error ( 'Test passed!' ) ;
104
118
} ;
105
119
0 commit comments