StoreClient.h File Reference
#include "acl/ChecklistFiller.h"
#include "base/AsyncCall.h"
#include "base/forward.h"
#include "dlink.h"
#include "store/ParsingBuffer.h"
#include "StoreIOBuffer.h"
#include "StoreIOState.h"
#include "DelayId.h"
Include dependency graph for StoreClient.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  StoreClient
 a storeGetPublic*() caller More...
 
class  store_client
 
struct  store_client::Callback
 

Typedefs

using STCB = void(void *, StoreIOBuffer)
 

Functions

void storeClientCopy (store_client *, StoreEntry *, StoreIOBuffer, STCB *, void *)
 
store_clientstoreClientListAdd (StoreEntry *e, void *data)
 
int storeUnregister (store_client *sc, StoreEntry *e, void *data)
 
int storePendingNClients (const StoreEntry *e)
 
int storeClientIsThisAClient (store_client *sc, void *someClient)
 

Typedef Documentation

◆ STCB

using STCB = void (void *, StoreIOBuffer)

A storeClientCopy() callback function.

Upon storeClientCopy() success, StoreIOBuffer::flags.error is zero, and

STCB callbacks may use response semantics to detect certain EOF conditions. Callbacks that expect HTTP headers may call store_client::atEof(). Similar to clientStreamCallback() callbacks, callbacks dedicated to receiving HTTP bodies may use zero StoreIOBuffer::length as an EOF condition.

Errors are indicated by setting StoreIOBuffer flags.error.

Definition at line 32 of file StoreClient.h.

Function Documentation

◆ storeClientCopy()

void storeClientCopy ( store_client sc,
StoreEntry e,
StoreIOBuffer  copyInto,
STCB callback,
void *  data 
)

Asynchronously read HTTP response headers and/or body bytes from Store.

The requested zero-based HTTP body offset is specified via the StoreIOBuffer::offset field. The first call (for a given store_client object) must specify zero offset.

The requested HTTP body portion size is specified via the StoreIOBuffer::length field. The function may return fewer body bytes.

See STCB for result delivery details.

Definition at line 213 of file store_client.cc.

References assert, and sc.

Referenced by asHandleReply(), asnCacheStart(), netdbExchangeHandleReply(), netdbExchangeStart(), peerDigestHandleReply(), peerDigestRequest(), Mgr::StoreToCommWriter::scheduleStoreCopy(), UrnState::start(), and urnHandleReply().

◆ storeClientIsThisAClient()

int storeClientIsThisAClient ( store_client sc,
void *  someClient 
)

◆ storeClientListAdd()

◆ storePendingNClients()

int storePendingNClients ( const StoreEntry e)

◆ storeUnregister()

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors