A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
SinkShuffler.h
Go to the documentation of this file.
1
/*****************************************************************************
2
* *
3
* Copyright 2018 Rice University *
4
* *
5
* Licensed under the Apache License, Version 2.0 (the "License"); *
6
* you may not use this file except in compliance with the License. *
7
* You may obtain a copy of the License at *
8
* *
9
* http://www.apache.org/licenses/LICENSE-2.0 *
10
* *
11
* Unless required by applicable law or agreed to in writing, software *
12
* distributed under the License is distributed on an "AS IS" BASIS, *
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
14
* See the License for the specific language governing permissions and *
15
* limitations under the License. *
16
* *
17
*****************************************************************************/
18
19
#ifndef SINK_SHUFFLER_H
20
#define SINK_SHUFFLER_H
21
22
23
24
#include "
Object.h
"
25
#include "
TupleSet.h
"
26
#include "
DataTypes.h
"
27
28
29
namespace
pdb {
30
31
class
SinkShuffler
;
32
typedef
std::shared_ptr<SinkShuffler>
SinkShufflerPtr
;
33
34
// this class encapsulates a shuffler to pick up join maps in the input pages that belongs to the
35
// shuffler's destination node and create them again in a set of output pages. So the set of output
36
// pages are belonging to the same destination node.
37
class
SinkShuffler
{
38
39
public
:
40
// this sets the id for the destination node
41
virtual
void
setNodeId
(
int
nodeId) = 0;
42
43
// this gets id of the destination node
44
virtual
int
getNodeId
() = 0;
45
46
// this creates and returns a new output containter to write to
47
virtual
Handle<Object>
createNewOutputContainer
() = 0;
48
49
// this writes the tuple set into the output container
50
virtual
bool
writeOut
(
Handle<Object>
shuffleMe,
Handle<Object>
& shuffleToMe) = 0;
51
52
virtual
~SinkShuffler
() {}
53
};
54
}
55
56
#endif
pdb::SinkShufflerPtr
std::shared_ptr< SinkShuffler > SinkShufflerPtr
Definition:
SinkShuffler.h:31
pdb::SinkShuffler::setNodeId
virtual void setNodeId(int nodeId)=0
pdb::SinkShuffler
Definition:
SinkShuffler.h:37
DataTypes.h
pdb::SinkShuffler::createNewOutputContainer
virtual Handle< Object > createNewOutputContainer()=0
pdb::SinkShuffler::writeOut
virtual bool writeOut(Handle< Object > shuffleMe, Handle< Object > &shuffleToMe)=0
Object.h
pdb::SinkShuffler::~SinkShuffler
virtual ~SinkShuffler()
Definition:
SinkShuffler.h:52
TupleSet.h
pdb::SinkShuffler::getNodeId
virtual int getNodeId()=0
pdb::Handle
Definition:
Allocator.h:399
plinycompute
pdb
src
pipeline
headers
SinkShuffler.h
Generated on Mon Jun 18 2018 18:10:36 by
1.8.6