encode method

void encode(
  1. Packer p
)
inherited

Implementation

void encode(Packer p) {
  switch (this) {
    case RequestFileClose(
      file: final file,
    ):
      p.packMapLength(1);
      p.packString('FileClose');
      p.packListLength(1);
      file.encode(p);
    case RequestFileFlush(
      file: final file,
    ):
      p.packMapLength(1);
      p.packString('FileFlush');
      p.packListLength(1);
      file.encode(p);
    case RequestFileGetLength(
      file: final file,
    ):
      p.packMapLength(1);
      p.packString('FileGetLength');
      p.packListLength(1);
      file.encode(p);
    case RequestFileGetProgress(
      file: final file,
    ):
      p.packMapLength(1);
      p.packString('FileGetProgress');
      p.packListLength(1);
      file.encode(p);
    case RequestFileRead(
      file: final file,
      offset: final offset,
      size: final size,
    ):
      p.packMapLength(1);
      p.packString('FileRead');
      p.packListLength(3);
      file.encode(p);
      p.packInt(offset);
      p.packInt(size);
    case RequestFileTruncate(
      file: final file,
      len: final len,
    ):
      p.packMapLength(1);
      p.packString('FileTruncate');
      p.packListLength(2);
      file.encode(p);
      p.packInt(len);
    case RequestFileWrite(
      file: final file,
      offset: final offset,
      data: final data,
    ):
      p.packMapLength(1);
      p.packString('FileWrite');
      p.packListLength(3);
      file.encode(p);
      p.packInt(offset);
      p.packBinary(data);
    case RequestRepositoryClose(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryClose');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryCreateDirectory(
      repo: final repo,
      path: final path,
    ):
      p.packMapLength(1);
      p.packString('RepositoryCreateDirectory');
      p.packListLength(2);
      repo.encode(p);
      p.packString(path);
    case RequestRepositoryCreateFile(
      repo: final repo,
      path: final path,
    ):
      p.packMapLength(1);
      p.packString('RepositoryCreateFile');
      p.packListLength(2);
      repo.encode(p);
      p.packString(path);
    case RequestRepositoryCreateMirror(
      repo: final repo,
      host: final host,
    ):
      p.packMapLength(1);
      p.packString('RepositoryCreateMirror');
      p.packListLength(2);
      repo.encode(p);
      p.packString(host);
    case RequestRepositoryDelete(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryDelete');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryDeleteMirror(
      repo: final repo,
      host: final host,
    ):
      p.packMapLength(1);
      p.packString('RepositoryDeleteMirror');
      p.packListLength(2);
      repo.encode(p);
      p.packString(host);
    case RequestRepositoryExport(
      repo: final repo,
      outputPath: final outputPath,
    ):
      p.packMapLength(1);
      p.packString('RepositoryExport');
      p.packListLength(2);
      repo.encode(p);
      p.packString(outputPath);
    case RequestRepositoryFileExists(
      repo: final repo,
      path: final path,
    ):
      p.packMapLength(1);
      p.packString('RepositoryFileExists');
      p.packListLength(2);
      repo.encode(p);
      p.packString(path);
    case RequestRepositoryGetAccessMode(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryGetAccessMode');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryGetBlockExpiration(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryGetBlockExpiration');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryGetCredentials(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryGetCredentials');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryGetEntryType(
      repo: final repo,
      path: final path,
    ):
      p.packMapLength(1);
      p.packString('RepositoryGetEntryType');
      p.packListLength(2);
      repo.encode(p);
      p.packString(path);
    case RequestRepositoryGetExpiration(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryGetExpiration');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryGetInfoHash(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryGetInfoHash');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryGetMetadata(
      repo: final repo,
      key: final key,
    ):
      p.packMapLength(1);
      p.packString('RepositoryGetMetadata');
      p.packListLength(2);
      repo.encode(p);
      p.packString(key);
    case RequestRepositoryGetMountPoint(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryGetMountPoint');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryGetPath(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryGetPath');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryGetQuota(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryGetQuota');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryGetShortName(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryGetShortName');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryGetStats(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryGetStats');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryGetSyncProgress(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryGetSyncProgress');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryIsDhtEnabled(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryIsDhtEnabled');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryIsPexEnabled(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryIsPexEnabled');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryIsSyncEnabled(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryIsSyncEnabled');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryMirrorExists(
      repo: final repo,
      host: final host,
    ):
      p.packMapLength(1);
      p.packString('RepositoryMirrorExists');
      p.packListLength(2);
      repo.encode(p);
      p.packString(host);
    case RequestRepositoryMount(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryMount');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryMove(
      repo: final repo,
      dst: final dst,
    ):
      p.packMapLength(1);
      p.packString('RepositoryMove');
      p.packListLength(2);
      repo.encode(p);
      p.packString(dst);
    case RequestRepositoryMoveEntry(
      repo: final repo,
      src: final src,
      dst: final dst,
    ):
      p.packMapLength(1);
      p.packString('RepositoryMoveEntry');
      p.packListLength(3);
      repo.encode(p);
      p.packString(src);
      p.packString(dst);
    case RequestRepositoryOpenFile(
      repo: final repo,
      path: final path,
    ):
      p.packMapLength(1);
      p.packString('RepositoryOpenFile');
      p.packListLength(2);
      repo.encode(p);
      p.packString(path);
    case RequestRepositoryReadDirectory(
      repo: final repo,
      path: final path,
    ):
      p.packMapLength(1);
      p.packString('RepositoryReadDirectory');
      p.packListLength(2);
      repo.encode(p);
      p.packString(path);
    case RequestRepositoryRemoveDirectory(
      repo: final repo,
      path: final path,
      recursive: final recursive,
    ):
      p.packMapLength(1);
      p.packString('RepositoryRemoveDirectory');
      p.packListLength(3);
      repo.encode(p);
      p.packString(path);
      p.packBool(recursive);
    case RequestRepositoryRemoveFile(
      repo: final repo,
      path: final path,
    ):
      p.packMapLength(1);
      p.packString('RepositoryRemoveFile');
      p.packListLength(2);
      repo.encode(p);
      p.packString(path);
    case RequestRepositoryResetAccess(
      repo: final repo,
      token: final token,
    ):
      p.packMapLength(1);
      p.packString('RepositoryResetAccess');
      p.packListLength(2);
      repo.encode(p);
      token.encode(p);
    case RequestRepositorySetAccess(
      repo: final repo,
      read: final read,
      write: final write,
    ):
      p.packMapLength(1);
      p.packString('RepositorySetAccess');
      p.packListLength(3);
      repo.encode(p);
      _encodeNullable(p, read, (p, e) => e.encode(p));
      _encodeNullable(p, write, (p, e) => e.encode(p));
    case RequestRepositorySetAccessMode(
      repo: final repo,
      accessMode: final accessMode,
      localSecret: final localSecret,
    ):
      p.packMapLength(1);
      p.packString('RepositorySetAccessMode');
      p.packListLength(3);
      repo.encode(p);
      accessMode.encode(p);
      _encodeNullable(p, localSecret, (p, e) => e.encode(p));
    case RequestRepositorySetBlockExpiration(
      repo: final repo,
      value: final value,
    ):
      p.packMapLength(1);
      p.packString('RepositorySetBlockExpiration');
      p.packListLength(2);
      repo.encode(p);
      _encodeNullable(p, value, (p, e) => _encodeDuration(p, e));
    case RequestRepositorySetCredentials(
      repo: final repo,
      credentials: final credentials,
    ):
      p.packMapLength(1);
      p.packString('RepositorySetCredentials');
      p.packListLength(2);
      repo.encode(p);
      p.packBinary(credentials);
    case RequestRepositorySetDhtEnabled(
      repo: final repo,
      enabled: final enabled,
    ):
      p.packMapLength(1);
      p.packString('RepositorySetDhtEnabled');
      p.packListLength(2);
      repo.encode(p);
      p.packBool(enabled);
    case RequestRepositorySetExpiration(
      repo: final repo,
      value: final value,
    ):
      p.packMapLength(1);
      p.packString('RepositorySetExpiration');
      p.packListLength(2);
      repo.encode(p);
      _encodeNullable(p, value, (p, e) => _encodeDuration(p, e));
    case RequestRepositorySetMetadata(
      repo: final repo,
      edits: final edits,
    ):
      p.packMapLength(1);
      p.packString('RepositorySetMetadata');
      p.packListLength(2);
      repo.encode(p);
      _encodeList(p, edits, (p, e) => e.encode(p));
    case RequestRepositorySetPexEnabled(
      repo: final repo,
      enabled: final enabled,
    ):
      p.packMapLength(1);
      p.packString('RepositorySetPexEnabled');
      p.packListLength(2);
      repo.encode(p);
      p.packBool(enabled);
    case RequestRepositorySetQuota(
      repo: final repo,
      value: final value,
    ):
      p.packMapLength(1);
      p.packString('RepositorySetQuota');
      p.packListLength(2);
      repo.encode(p);
      _encodeNullable(p, value, (p, e) => e.encode(p));
    case RequestRepositorySetSyncEnabled(
      repo: final repo,
      enabled: final enabled,
    ):
      p.packMapLength(1);
      p.packString('RepositorySetSyncEnabled');
      p.packListLength(2);
      repo.encode(p);
      p.packBool(enabled);
    case RequestRepositoryShare(
      repo: final repo,
      accessMode: final accessMode,
      localSecret: final localSecret,
    ):
      p.packMapLength(1);
      p.packString('RepositoryShare');
      p.packListLength(3);
      repo.encode(p);
      accessMode.encode(p);
      _encodeNullable(p, localSecret, (p, e) => e.encode(p));
    case RequestRepositorySubscribe(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositorySubscribe');
      p.packListLength(1);
      repo.encode(p);
    case RequestRepositoryUnmount(
      repo: final repo,
    ):
      p.packMapLength(1);
      p.packString('RepositoryUnmount');
      p.packListLength(1);
      repo.encode(p);
    case RequestSessionAddUserProvidedPeers(
      addrs: final addrs,
    ):
      p.packMapLength(1);
      p.packString('SessionAddUserProvidedPeers');
      p.packListLength(1);
      _encodeList(p, addrs, (p, e) => p.packString(e));
    case RequestSessionBindMetrics(
      addr: final addr,
    ):
      p.packMapLength(1);
      p.packString('SessionBindMetrics');
      p.packListLength(1);
      _encodeNullable(p, addr, (p, e) => p.packString(e));
    case RequestSessionBindNetwork(
      addrs: final addrs,
    ):
      p.packMapLength(1);
      p.packString('SessionBindNetwork');
      p.packListLength(1);
      _encodeList(p, addrs, (p, e) => p.packString(e));
    case RequestSessionBindRemoteControl(
      addr: final addr,
    ):
      p.packMapLength(1);
      p.packString('SessionBindRemoteControl');
      p.packListLength(1);
      _encodeNullable(p, addr, (p, e) => p.packString(e));
    case RequestSessionCreateRepository(
      path: final path,
      readSecret: final readSecret,
      writeSecret: final writeSecret,
      token: final token,
      syncEnabled: final syncEnabled,
      dhtEnabled: final dhtEnabled,
      pexEnabled: final pexEnabled,
    ):
      p.packMapLength(1);
      p.packString('SessionCreateRepository');
      p.packListLength(7);
      p.packString(path);
      _encodeNullable(p, readSecret, (p, e) => e.encode(p));
      _encodeNullable(p, writeSecret, (p, e) => e.encode(p));
      _encodeNullable(p, token, (p, e) => e.encode(p));
      p.packBool(syncEnabled);
      p.packBool(dhtEnabled);
      p.packBool(pexEnabled);
    case RequestSessionDeleteRepositoryByName(
      name: final name,
    ):
      p.packMapLength(1);
      p.packString('SessionDeleteRepositoryByName');
      p.packListLength(1);
      p.packString(name);
    case RequestSessionDeriveSecretKey(
      password: final password,
      salt: final salt,
    ):
      p.packMapLength(1);
      p.packString('SessionDeriveSecretKey');
      p.packListLength(2);
      password.encode(p);
      salt.encode(p);
    case RequestSessionFindRepository(
      name: final name,
    ):
      p.packMapLength(1);
      p.packString('SessionFindRepository');
      p.packListLength(1);
      p.packString(name);
    case RequestSessionGeneratePasswordSalt(
    ):
      p.packString('SessionGeneratePasswordSalt');
    case RequestSessionGenerateSecretKey(
    ):
      p.packString('SessionGenerateSecretKey');
    case RequestSessionGetCurrentProtocolVersion(
    ):
      p.packString('SessionGetCurrentProtocolVersion');
    case RequestSessionGetDefaultBlockExpiration(
    ):
      p.packString('SessionGetDefaultBlockExpiration');
    case RequestSessionGetDefaultQuota(
    ):
      p.packString('SessionGetDefaultQuota');
    case RequestSessionGetDefaultRepositoryExpiration(
    ):
      p.packString('SessionGetDefaultRepositoryExpiration');
    case RequestSessionGetExternalAddrV4(
    ):
      p.packString('SessionGetExternalAddrV4');
    case RequestSessionGetExternalAddrV6(
    ):
      p.packString('SessionGetExternalAddrV6');
    case RequestSessionGetHighestSeenProtocolVersion(
    ):
      p.packString('SessionGetHighestSeenProtocolVersion');
    case RequestSessionGetLocalListenerAddrs(
    ):
      p.packString('SessionGetLocalListenerAddrs');
    case RequestSessionGetMetricsListenerAddr(
    ):
      p.packString('SessionGetMetricsListenerAddr');
    case RequestSessionGetMountRoot(
    ):
      p.packString('SessionGetMountRoot');
    case RequestSessionGetNatBehavior(
    ):
      p.packString('SessionGetNatBehavior');
    case RequestSessionGetNetworkStats(
    ):
      p.packString('SessionGetNetworkStats');
    case RequestSessionGetPeers(
    ):
      p.packString('SessionGetPeers');
    case RequestSessionGetRemoteControlListenerAddr(
    ):
      p.packString('SessionGetRemoteControlListenerAddr');
    case RequestSessionGetRemoteListenerAddrs(
      host: final host,
    ):
      p.packMapLength(1);
      p.packString('SessionGetRemoteListenerAddrs');
      p.packListLength(1);
      p.packString(host);
    case RequestSessionGetRuntimeId(
    ):
      p.packString('SessionGetRuntimeId');
    case RequestSessionGetShareTokenAccessMode(
      token: final token,
    ):
      p.packMapLength(1);
      p.packString('SessionGetShareTokenAccessMode');
      p.packListLength(1);
      token.encode(p);
    case RequestSessionGetShareTokenInfoHash(
      token: final token,
    ):
      p.packMapLength(1);
      p.packString('SessionGetShareTokenInfoHash');
      p.packListLength(1);
      token.encode(p);
    case RequestSessionGetShareTokenSuggestedName(
      token: final token,
    ):
      p.packMapLength(1);
      p.packString('SessionGetShareTokenSuggestedName');
      p.packListLength(1);
      token.encode(p);
    case RequestSessionGetStateMonitor(
      path: final path,
    ):
      p.packMapLength(1);
      p.packString('SessionGetStateMonitor');
      p.packListLength(1);
      _encodeList(p, path, (p, e) => e.encode(p));
    case RequestSessionGetStoreDir(
    ):
      p.packString('SessionGetStoreDir');
    case RequestSessionGetUserProvidedPeers(
    ):
      p.packString('SessionGetUserProvidedPeers');
    case RequestSessionInitNetwork(
      defaults: final defaults,
    ):
      p.packMapLength(1);
      p.packString('SessionInitNetwork');
      p.packListLength(1);
      defaults.encode(p);
    case RequestSessionIsLocalDiscoveryEnabled(
    ):
      p.packString('SessionIsLocalDiscoveryEnabled');
    case RequestSessionIsPexRecvEnabled(
    ):
      p.packString('SessionIsPexRecvEnabled');
    case RequestSessionIsPexSendEnabled(
    ):
      p.packString('SessionIsPexSendEnabled');
    case RequestSessionIsPortForwardingEnabled(
    ):
      p.packString('SessionIsPortForwardingEnabled');
    case RequestSessionListRepositories(
    ):
      p.packString('SessionListRepositories');
    case RequestSessionMirrorExists(
      token: final token,
      host: final host,
    ):
      p.packMapLength(1);
      p.packString('SessionMirrorExists');
      p.packListLength(2);
      token.encode(p);
      p.packString(host);
    case RequestSessionOpenRepository(
      path: final path,
      localSecret: final localSecret,
    ):
      p.packMapLength(1);
      p.packString('SessionOpenRepository');
      p.packListLength(2);
      p.packString(path);
      _encodeNullable(p, localSecret, (p, e) => e.encode(p));
    case RequestSessionRemoveUserProvidedPeers(
      addrs: final addrs,
    ):
      p.packMapLength(1);
      p.packString('SessionRemoveUserProvidedPeers');
      p.packListLength(1);
      _encodeList(p, addrs, (p, e) => p.packString(e));
    case RequestSessionSetDefaultBlockExpiration(
      value: final value,
    ):
      p.packMapLength(1);
      p.packString('SessionSetDefaultBlockExpiration');
      p.packListLength(1);
      _encodeNullable(p, value, (p, e) => _encodeDuration(p, e));
    case RequestSessionSetDefaultQuota(
      value: final value,
    ):
      p.packMapLength(1);
      p.packString('SessionSetDefaultQuota');
      p.packListLength(1);
      _encodeNullable(p, value, (p, e) => e.encode(p));
    case RequestSessionSetDefaultRepositoryExpiration(
      value: final value,
    ):
      p.packMapLength(1);
      p.packString('SessionSetDefaultRepositoryExpiration');
      p.packListLength(1);
      _encodeNullable(p, value, (p, e) => _encodeDuration(p, e));
    case RequestSessionSetLocalDiscoveryEnabled(
      enabled: final enabled,
    ):
      p.packMapLength(1);
      p.packString('SessionSetLocalDiscoveryEnabled');
      p.packListLength(1);
      p.packBool(enabled);
    case RequestSessionSetMountRoot(
      path: final path,
    ):
      p.packMapLength(1);
      p.packString('SessionSetMountRoot');
      p.packListLength(1);
      _encodeNullable(p, path, (p, e) => p.packString(e));
    case RequestSessionSetPexRecvEnabled(
      enabled: final enabled,
    ):
      p.packMapLength(1);
      p.packString('SessionSetPexRecvEnabled');
      p.packListLength(1);
      p.packBool(enabled);
    case RequestSessionSetPexSendEnabled(
      enabled: final enabled,
    ):
      p.packMapLength(1);
      p.packString('SessionSetPexSendEnabled');
      p.packListLength(1);
      p.packBool(enabled);
    case RequestSessionSetPortForwardingEnabled(
      enabled: final enabled,
    ):
      p.packMapLength(1);
      p.packString('SessionSetPortForwardingEnabled');
      p.packListLength(1);
      p.packBool(enabled);
    case RequestSessionSetStoreDir(
      path: final path,
    ):
      p.packMapLength(1);
      p.packString('SessionSetStoreDir');
      p.packListLength(1);
      p.packString(path);
    case RequestSessionSubscribeToNetwork(
    ):
      p.packString('SessionSubscribeToNetwork');
    case RequestSessionSubscribeToStateMonitor(
      path: final path,
    ):
      p.packMapLength(1);
      p.packString('SessionSubscribeToStateMonitor');
      p.packListLength(1);
      _encodeList(p, path, (p, e) => e.encode(p));
    case RequestSessionUnsubscribe(
      id: final id,
    ):
      p.packMapLength(1);
      p.packString('SessionUnsubscribe');
      p.packListLength(1);
      id.encode(p);
    case RequestSessionValidateShareToken(
      token: final token,
    ):
      p.packMapLength(1);
      p.packString('SessionValidateShareToken');
      p.packListLength(1);
      p.packString(token);
  }
}