@@ -6,24 +6,22 @@ import * as lengthPrefixed from 'it-length-prefixed'
6
6
import { pushable } from 'it-pushable'
7
7
import { Uint8ArrayList } from 'uint8arraylist'
8
8
import { Message } from '../src/pb/message.js'
9
- import { createStream } from '../src/stream.js'
9
+ import { MAX_BUFFERED_AMOUNT , MAX_MESSAGE_SIZE , PROTOBUF_OVERHEAD , createStream } from '../src/stream.js'
10
10
11
11
const mockDataChannel = ( opts : { send : ( bytes : Uint8Array ) => void , bufferedAmount ?: number } ) : RTCDataChannel => {
12
12
return {
13
13
readyState : 'open' ,
14
- close : ( ) => { } ,
15
- addEventListener : ( _type : string , _listener : ( ) => void ) => { } ,
16
- removeEventListener : ( _type : string , _listener : ( ) => void ) => { } ,
14
+ close : ( ) => { } ,
15
+ addEventListener : ( _type : string , _listener : ( ) => void ) => { } ,
16
+ removeEventListener : ( _type : string , _listener : ( ) => void ) => { } ,
17
17
...opts
18
18
} as RTCDataChannel
19
19
}
20
20
21
- const MAX_MESSAGE_SIZE = 16 * 1024
22
-
23
21
describe ( 'Max message size' , ( ) => {
24
22
it ( `sends messages smaller or equal to ${ MAX_MESSAGE_SIZE } bytes in one` , async ( ) => {
25
23
const sent : Uint8ArrayList = new Uint8ArrayList ( )
26
- const data = new Uint8Array ( MAX_MESSAGE_SIZE - 5 )
24
+ const data = new Uint8Array ( MAX_MESSAGE_SIZE - PROTOBUF_OVERHEAD )
27
25
const p = pushable ( )
28
26
29
27
// Make sure that the data that ought to be sent will result in a message with exactly MAX_MESSAGE_SIZE
@@ -42,8 +40,7 @@ describe('Max message size', () => {
42
40
p . end ( )
43
41
await webrtcStream . sink ( p )
44
42
45
- // length(message) + message + length(FIN) + FIN
46
- expect ( length ( sent ) ) . to . equal ( 4 )
43
+ expect ( length ( sent ) ) . to . equal ( 6 )
47
44
48
45
for ( const buf of sent ) {
49
46
expect ( buf . byteLength ) . to . be . lessThanOrEqual ( MAX_MESSAGE_SIZE )
@@ -80,7 +77,6 @@ describe('Max message size', () => {
80
77
} )
81
78
82
79
it ( 'closes the stream if bufferamountlow timeout' , async ( ) => {
83
- const MAX_BUFFERED_AMOUNT = 16 * 1024 * 1024 + 1
84
80
const timeout = 100
85
81
let closed = false
86
82
const webrtcStream = createStream ( {
@@ -91,7 +87,7 @@ describe('Max message size', () => {
91
87
send : ( ) => {
92
88
throw new Error ( 'Expected to not send' )
93
89
} ,
94
- bufferedAmount : MAX_BUFFERED_AMOUNT
90
+ bufferedAmount : MAX_BUFFERED_AMOUNT + 1
95
91
} ) ,
96
92
direction : 'outbound' ,
97
93
onEnd : ( ) => {
0 commit comments