register static method

Future<WampFileReceiver> register(
  1. Session session,
  2. String procedure,
  3. WampFileSinkFactory sinkFactory, {
  4. RegisterOptions? options,
  5. int maxConcurrentTransfers = 8,
  6. int maxFileSize = 16 * 1024 * 1024 * 1024,
  7. int maxChunkSize = defaultWampFileChunkSize,
  8. int maxBufferedBytes = 8 * 1024 * 1024,
  9. 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;
}