register static method
Future<WampFileReceiver>
register(
- Session session,
- String procedure,
- WampFileSinkFactory sinkFactory, {
- RegisterOptions? options,
- int maxConcurrentTransfers = 8,
- int maxFileSize = 16 * 1024 * 1024 * 1024,
- int maxChunkSize = defaultWampFileChunkSize,
- int maxBufferedBytes = 8 * 1024 * 1024,
- Duration idleTimeout = const Duration(seconds: 30),
Implementation
static Future<WampFileReceiver> register(
Session session,
String procedure,
WampFileSinkFactory sinkFactory, {
RegisterOptions? options,
int maxConcurrentTransfers = 8,
int maxFileSize = 16 * 1024 * 1024 * 1024,
int maxChunkSize = defaultWampFileChunkSize,
int maxBufferedBytes = 8 * 1024 * 1024,
Duration idleTimeout = const Duration(seconds: 30),
}) async {
if (maxConcurrentTransfers <= 0 ||
maxFileSize < 0 ||
maxChunkSize <= 0 ||
maxBufferedBytes <= 0 ||
idleTimeout <= Duration.zero) {
throw ArgumentError('File receiver limits must be positive');
}
final receiver = WampFileReceiver._(
session: session,
sinkFactory: sinkFactory,
maxConcurrentTransfers: maxConcurrentTransfers,
maxFileSize: maxFileSize,
maxChunkSize: maxChunkSize,
maxBufferedBytes: maxBufferedBytes,
idleTimeout: idleTimeout,
);
receiver.registration = await session.registerLazyPayloadHandler(
procedure,
receiver._onInvocation,
options: options,
);
return receiver;
}