Apache Arrow (C++)
A columnar in-memory analytics layer designed to accelerate big data.
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions
plasma.h File Reference
#include <errno.h>
#include <inttypes.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include "plasma/compat.h"
#include "arrow/status.h"
#include "arrow/util/logging.h"
#include "plasma/common.h"
#include "plasma/common_generated.h"

Go to the source code of this file.

Classes

struct  plasma::object_handle
 Handle to access memory mapped file and map it into client address space. More...
 
struct  plasma::PlasmaObject
 
struct  plasma::ObjectTableEntry
 This type is used by the Plasma store. More...
 
struct  plasma::PlasmaStoreInfo
 The plasma store information that is exposed to the eviction policy. More...
 

Namespaces

 plasma
 

Macros

#define HANDLE_SIGPIPE(s, fd_)
 
#define BLOCK_SIZE   64
 Allocation granularity used in plasma for object allocation. More...
 

Typedefs

typedef std::unordered_map< ObjectID, ObjectRequest, UniqueIDHasher > plasma::ObjectRequestMap
 Mapping from object IDs to type and status of the request. More...
 

Enumerations

enum  plasma::object_state { plasma::PLASMA_CREATED = 1, plasma::PLASMA_SEALED }
 
enum  plasma::object_status { plasma::OBJECT_NOT_FOUND = 0, plasma::OBJECT_FOUND = 1 }
 

Functions

ObjectTableEntry * plasma::get_object_table_entry (PlasmaStoreInfo *store_info, const ObjectID &object_id)
 Get an entry from the object table and return NULL if the object_id is not present. More...
 
int plasma::warn_if_sigpipe (int status, int client_sock)
 Print a warning if the status is less than zero. More...
 
uint8_t * plasma::create_object_info_buffer (ObjectInfoT *object_info)
 

Macro Definition Documentation

◆ BLOCK_SIZE

#define BLOCK_SIZE   64

Allocation granularity used in plasma for object allocation.

◆ HANDLE_SIGPIPE

#define HANDLE_SIGPIPE (   s,
  fd_ 
)
Value:
do { \
Status _s = (s); \
if (!_s.ok()) { \
if (errno == EPIPE || errno == EBADF || errno == ECONNRESET) { \
ARROW_LOG(WARNING) \
<< "Received SIGPIPE, BAD FILE DESCRIPTOR, or ECONNRESET when " \
"sending a message to client on fd " \
<< fd_ << ". " \
"The client on the other end may have hung up."; \
} else { \
return _s; \
} \
} \
} while (0);