Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  PHttpTransaction.ipdl   Sprache: unbekannt

 
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set sw=2 ts=8 et tw=80 ft=cpp : */

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

include protocol PSocketProcess;
include protocol PInputChannelThrottleQueue;

include IPCStream;
include NeckoChannelParams;

include "mozilla/ipc/TransportSecurityInfoUtils.h";
include "mozilla/net/NeckoMessageUtils.h";
include "mozilla/net/ClassOfService.h";

using class mozilla::net::nsHttpRequestHead from "nsHttpRequestHead.h";
using class mozilla::net::nsHttpHeaderArray from "nsHttpHeaderArray.h";
using mozilla::net::NetAddr from "mozilla/net/DNS.h";
using mozilla::net::ClassOfService from "mozilla/net/ClassOfService.h";
[RefCounted] using class nsITransportSecurityInfo from "nsITransportSecurityInfo.h";
using mozilla::net::TRRSkippedReason from "nsITRRSkipReason.h";
using nsIRequest::TRRMode from "nsIRequest.h";

namespace mozilla {
namespace net {

struct H2PushedStreamArg {
  PHttpTransaction transWithPushedStream;
  uint32_t pushedStreamId;
};

struct NetworkAddressArg {
  NetAddr selfAddr;
  NetAddr peerAddr;
  bool resolvedByTRR;
  TRRMode mode;
  TRRSkippedReason trrSkipReason;
  bool echConfigUsed;
};

protocol PHttpTransaction
{
  manager PSocketProcess;

parent:
  async OnStartRequest(nsresult                            status,
                       nsHttpResponseHead?                 responseHead,
                       nullable nsITransportSecurityInfo   securityInfo,
                       bool                                proxyConnectFailed,
                       TimingStructArgs                    timings,
                       int32_t                             proxyConnectResponseCode,
                       uint8_t[]                           dataForSniffer,
                       nsCString?                          altSvcUsed,
                       bool                                dataToChildProcess,
                       bool                                restarted,
                       uint32_t                            HTTPSSVCReceivedStage,
                       bool                                supportsHttp3,
                       TRRMode trrMode,
                       TRRSkippedReason trrSkipReason,
                       uint32_t caps,
                       TimeStamp onStartRequestStart);
  async OnTransportStatus(nsresult status,
                          int64_t progress,
                          int64_t progressMax,
                          NetworkAddressArg? networkAddressArg);
  async OnDataAvailable(nsCString data,
                        uint64_t  offset,
                        uint32_t  count,
                        TimeStamp onDataAvailableStart);
  async OnStopRequest(nsresult status,
                      bool responseIsComplete,
                      int64_t transferSize,
                      TimingStructArgs timings,
                      nsHttpHeaderArray? responseTrailers,
                      TransactionObserverResult? transactionObserverResult,
                      TimeStamp lastActiveTabOptimization,
                      HttpConnectionInfoCloneArgs connInfoArgs,
                      TimeStamp onStopRequestStart);
  async OnInitFailed(nsresult status);
  async OnH2PushStream(uint32_t pushedStreamId,
                       nsCString resourceUrl,
                       nsCString requestString);
  async EarlyHint(nsCString linkHeader, nsCString referrerPolicy, nsCString cspHeader);

child:
  async __delete__();
  async Init(uint32_t caps,
             HttpConnectionInfoCloneArgs aArgs,
             nsHttpRequestHead reqHeaders,
             IPCStream? requestBody,
             uint64_t reqContentLength,
             bool reqBodyIncludesHeaders,
             uint64_t topLevelOuterContentWindowId,
             uint8_t httpTrafficCategory,
             uint64_t requestContextID,
             ClassOfService classOfService,
             uint32_t initialRwin,
             bool responseTimeoutEnabled,
             uint64_t channelId,
             bool hasTransactionObserver,
             H2PushedStreamArg? pushedStreamArg,
             PInputChannelThrottleQueue? throttleQueue,
             bool aIsDocumentLoad,
             TimeStamp aRedirectStart,
             TimeStamp aRedirectEnd);

  async CancelPump(nsresult status);
  async SuspendPump();
  async ResumePump();

  async SetDNSWasRefreshed();
  async DontReuseConnection();
  async SetH2WSConnRefTaken();
};

} // namespace net
} // namespace mozilla

[ Dauer der Verarbeitung: 0.16 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge