/**
* Constructor for actual use. Takes in the url and password.
*/
-CloudComm::CloudComm(Table* _table, IoTString* _baseurl, IoTString* _password, int _listeningPort) :
+CloudComm::CloudComm(Table *_table, IoTString *_baseurl, IoTString *_password, int _listeningPort) :
baseurl(_baseurl),
key(NULL),
mac(NULL),
/**
* Constructor for actual use. Takes in the url and password.
*/
- CloudComm(Table* _table, IoTString* _baseurl, IoTString* _password, int _listeningPort);
+ CloudComm(Table *_table, IoTString *_baseurl, IoTString *_password, int _listeningPort);
/**
* Inits all the security stuff
* On failure, the server will send slots with newer sequence
* numbers.
*/
- Array<Slot *> *putSlot(Slot* slot, int max);
+ Array<Slot *> *putSlot(Slot *slot, int max);
/**
* Request the server to send all slots with the given
* server response. Shared by both putSlot and getSlots.
*/
- Array<char> *sendLocalData(Array<char> *sendData, int64_t localSequenceNumber, IoTString* host, int port);
+ Array<char> *sendLocalData(Array<char> *sendData, int64_t localSequenceNumber, IoTString *host, int port);
public void close();
};
#endif
#include "CommitPart.h"
-CommitPart::CommitPart(Slot* s, int64_t _machineId, int64_t _sequenceNumber, int64_t _transactionSequenceNumber, int _partNumber, Array<char>* _data, bool _isLastPart) :
+CommitPart::CommitPart(Slot *s, int64_t _machineId, int64_t _sequenceNumber, int64_t _transactionSequenceNumber, int _partNumber, Array<char> *_data, bool _isLastPart) :
Entry(s),
machineId(_machineId),
sequenceNumber(_sequenceNumber),
return data->length();
}
-Array<char> * CommitPart::getData() {
+Array<char> *CommitPart::getData() {
return data;
}
-Pair<int64_t int32_t> * CommitPart::getPartId() {
+Pair<int64_t int32_t> *CommitPart::getPartId() {
return partId;
}
return sequenceNumber;
}
-Entry* CommitPart_decode(Slot* s, ByteBuffer* bb) {
+Entry *CommitPart_decode(Slot *s, ByteBuffer *bb) {
int64_t machineId = bb->getLong();
int64_t sequenceNumber = bb->getLong();
int64_t transactionSequenceNumber = bb->getLong();
int partNumber = bb->getInt();
int dataSize = bb->getInt();
bool isLastPart = bb->get() == 1;
-
+
// Get the data
- Array<char> * data = new Array<char>(dataSize);
+ Array<char> *data = new Array<char>(dataSize);
bb->get(data);
-
+
return new CommitPart(s, machineId, sequenceNumber, transactionSequenceNumber, partNumber, data, isLastPart);
}
bb->putLong(transactionSequenceNumber);
bb->putInt(partNumber);
bb->putInt(data.length);
-
+
if (isLastPart) {
bb->put((char)1);
} else {
bb->put((char)0);
}
-
+
bb->put(data);
}
#define CommitPart_MAX_NON_HEADER_SIZE 512
class CommitPart : public Entry {
- private:
+private:
// Sequence number of the transaction this commit is for, -1 if not a cloud transaction
int64_t machineId; // Machine Id of the device that made the commit
int64_t sequenceNumber; // commit sequence number for this arbitrator
int64_t transactionSequenceNumber;
int32_t partNumber; // Parts position in the
bool isLastPart;
- Array<char> * data;
-
- Pair<int64_t int32_t> * partId;
- Pair<int64_t, int64_t> * commitId;
-
- public:
- CommitPart(Slot *s, int64_t _machineId, int64_t _sequenceNumber, int64_t _transactionSequenceNumber, int _partNumber, Array<char>* _data, bool _isLastPart);
+ Array<char> *data;
+
+ Pair<int64_t int32_t> *partId;
+ Pair<int64_t, int64_t> *commitId;
+
+public:
+ CommitPart(Slot *s, int64_t _machineId, int64_t _sequenceNumber, int64_t _transactionSequenceNumber, int _partNumber, Array<char> *_data, bool _isLastPart);
int getSize();
void setSlot(Slot *s);
int getPartNumber();
int getDataSize();
- Array<char> * getData();
- Pair<int64_t int32_t> * getPartId();
- Pair<int64_t, int64_t> * getCommitId();
+ Array<char> *getData();
+ Pair<int64_t int32_t> *getPartId();
+ Pair<int64_t, int64_t> *getCommitId();
bool isLastPart();
int64_t getMachineId();
int64_t getTransactionSequenceNumber();
int64_t getSequenceNumber();
void encode(ByteBuffer *bb);
char getType();
- Entry* getCopy(Slot *s);
+ Entry *getCopy(Slot *s);
};
-Entry * CommitPart_decode(Slot * s, ByteBuffer *bb);
+Entry *CommitPart_decode(Slot *s, ByteBuffer *bb);
#endif
MKDIR_P = mkdir -p
OBJ_DIR = bin
-CPP_SOURCES := $(wildcard *.cc) $(wildcard AST/*.cc) $(wildcard ASTTransform/*.cc) $(wildcard Translator/*.cc) $(wildcard ASTAnalyses/*.cc) $(wildcard ASTAnalyses/Order/*.cc) $(wildcard ASTAnalyses/Encoding/*.cc) $(wildcard ASTAnalyses/Polarity/*.cc) $(wildcard Tuner/*.cc) $(wildcard Collections/*.cc) $(wildcard Backend/*.cc) $(wildcard Encoders/*.cc) $(wildcard Serialize/*.cc)
+CPP_SOURCES := $(wildcard *.cc)
-C_SOURCES := $(wildcard *.c) $(wildcard AST/*.c) $(wildcard ASTTransform/*.c) $(wildcard Translator/*.c) $(wildcard ASTAnalyses/*.c) $(wildcard ASTAnalyses/Order/*.c) $(wildcard ASTAnalyses/Encoding/*.c) $(wildcard ASTAnalyses/Polarity/*.c) $(wildcard Tuner/*.c) $(wildcard Collections/*.c) $(wildcard Backend/*.c) $(wildcard Encoders/*.c) $(wildcard Serialize/*.c)
-
-HEADERS := $(wildcard *.h) $(wildcard AST/*.h) $(wildcard ASTTransform/*.h) $(wildcard Translator/*.h) $(wildcard ASTAnalyses/*.h) $(wildcard ASTAnalyses/Order/*.h) $(wildcard ASTAnalyses/Encoding/*.h) $(wildcard ASTAnalyses/Polarity/*.h) $(wildcard Tuner/*.h) $(wildcard Collections/*.h) $(wildcard Backend/*.h) $(wildcard Encoders/*.h) $(wildcard Serialize/*.h)
+HEADERS := $(wildcard *.h)
OBJECTS := $(CPP_SOURCES:%.cc=$(OBJ_DIR)/%.o) $(C_SOURCES:%.c=$(OBJ_DIR)/%.o)
CFLAGS := -Wall -O0 -g
-CFLAGS += -IAST -IASTTransform -IASTAnalyses -IASTAnalyses/Polarity -IASTAnalyses/Order -IASTAnalyses/Encoding -ITranslator -ICollections -IBackend -I. -IEncoders -ITuner -ISerialize
+CFLAGS += -I.
LDFLAGS := -ldl -lrt -rdynamic -g
SHARED := -shared
${OBJ_DIR}:
${MKDIR_P} ${OBJ_DIR}
- ${MKDIR_P} ${OBJ_DIR}/AST
- ${MKDIR_P} ${OBJ_DIR}/ASTAnalyses
- ${MKDIR_P} ${OBJ_DIR}/ASTAnalyses/Order
- ${MKDIR_P} ${OBJ_DIR}/ASTAnalyses/Encoding
- ${MKDIR_P} ${OBJ_DIR}/ASTAnalyses/Polarity
- ${MKDIR_P} ${OBJ_DIR}/ASTTransform
- ${MKDIR_P} ${OBJ_DIR}/Translator
- ${MKDIR_P} ${OBJ_DIR}/Tuner
- ${MKDIR_P} ${OBJ_DIR}/Collections
- ${MKDIR_P} ${OBJ_DIR}/Backend
- ${MKDIR_P} ${OBJ_DIR}/Encoders
- ${MKDIR_P} ${OBJ_DIR}/Serialize
debug: CFLAGS += -DCONFIG_DEBUG
debug: all
${OBJ_DIR}/%.o: %.cc
$(CXX) -fPIC -c $< -o $@ $(CFLAGS) -Wno-unused-variable
-${OBJ_DIR}/%.o: %.c
- $(CC) -fPIC -c $< -o $@ $(CFLAGS) -Wno-unused-variable
-
-include $(OBJECTS:%=$OBJ_DIR/.%.d)
PHONY += clean
return (4 * sizeof(int64_t)) + (2 * sizeof(int32_t)) + (2 * sizeof(char)) + data.length;
}
-void TransactionPart::setSlot(Slot* s) {
+void TransactionPart::setSlot(Slot *s) {
parentslot = s;
}
-Pair<int64_t, int64_t>* TransactionPart::getTransactionId() {
+Pair<int64_t, int64_t> *TransactionPart::getTransactionId() {
return transactionId;
}
return arbitratorId;
}
-Pair<int64_t int32_t>* TransactionPart::getPartId() {
+Pair<int64_t int32_t> *TransactionPart::getPartId() {
return partId;
}
return data.length;
}
-Array<char>* TransactionPart::getData() {
+Array<char> *TransactionPart::getData() {
return data;
}
sequenceNumber = _sequenceNumber;
}
-Entry* TransactionPart_decode(Slot* s, ByteBuffer* bb) {
+Entry *TransactionPart_decode(Slot *s, ByteBuffer *bb) {
int64_t sequenceNumber = bb->getLong();
int64_t machineId = bb->getLong();
int64_t arbitratorId = bb->getLong();
int dataSize = bb->getInt();
bool isLastPart = (bb->get() == 1);
// Get the data
- Array<char>* data = new Array<char>(dataSize);
+ Array<char> *data = new Array<char>(dataSize);
bb->get(data);
-
+
TransactionPart returnTransactionPart = new TransactionPart(s, machineId, arbitratorId, clientLocalSequenceNumber, partNumber, data, isLastPart);
returnTransactionPart.setSequenceNumber(sequenceNumber);
-
+
return returnTransactionPart;
}
-void TransactionPart::encode(ByteBuffer* bb) {
+void TransactionPart::encode(ByteBuffer *bb) {
bb->put(Entry.TypeTransactionPart);
bb->putLong(sequenceNumber);
bb->putLong(machineId);
bb->putLong(clientLocalSequenceNumber);
bb->putInt(partNumber);
bb->putInt(data.length);
-
+
if (isLastPart) {
bb->put((char)1);
} else {
bb->put((char)0);
}
-
+
bb->put(data);
}
return TypeTransactionPart;
}
-Entry * TransactionPart::getCopy(Slot *s) {
- TransactionPart* copyTransaction = new TransactionPart(s, machineId, arbitratorId, clientLocalSequenceNumber, partNumber, data, isLastPart);
+Entry *TransactionPart::getCopy(Slot *s) {
+ TransactionPart *copyTransaction = new TransactionPart(s, machineId, arbitratorId, clientLocalSequenceNumber, partNumber, data, isLastPart);
copyTransaction.setSequenceNumber(sequenceNumber);
-
+
return copyTransaction;
}
#define TransactionPart_MAX_NON_HEADER_SIZE 512
class TransactionPart : public Entry {
- private:
+private:
int64_t sequenceNumber = -1;
int64_t machineId = -1;
int64_t arbitratorId = -1;
int64_t clientLocalSequenceNumber = -1; // Sequence number of the transaction that this is a part of
int partNumber = -1; // Parts position in the
bool isLastPart = false;
-
- Pair<int64_t, int64_t> * transactionId = NULL;
- Pair<int64_t int32_t> * partId = NULL;
-
- Array<char> * data = NULL;
- public:
- TransactionPart(Slot *s, int64_t _machineId, int64_t _arbitratorId, int64_t _clientLocalSequenceNumber, int _partNumber, Array<char>* _data, bool _isLastPart) : Entry(s),
+ Pair<int64_t, int64_t> *transactionId = NULL;
+ Pair<int64_t int32_t> *partId = NULL;
+
+ Array<char> *data = NULL;
+
+public:
+ TransactionPart(Slot *s, int64_t _machineId, int64_t _arbitratorId, int64_t _clientLocalSequenceNumber, int _partNumber, Array<char> *_data, bool _isLastPart) : Entry(s),
sequenceNumber(-1),
machineId( _machineId),
arbitratorId(_arbitratorId),
transactionId(new Pair<int64_t, int64_t>(machineId, clientLocalSequenceNumber)),
partId(new Pair<int64_t int32_t>(clientLocalSequenceNumber, partNumber)),
data(_data) {
- }
-
+ }
+
int getSize();
void setSlot(Slot s);
- Pair<int64_t, int64_t> * getTransactionId();
+ Pair<int64_t, int64_t> *getTransactionId();
int64_t getArbitratorId();
- Pair<int64_t int32_t>* getPartId();
+ Pair<int64_t int32_t> *getPartId();
int getPartNumber();
int getDataSize();
- Array<char>* getData();
+ Array<char> *getData();
bool isLastPart();
int64_t getMachineId();
int64_t getClientLocalSequenceNumber();
void setSequenceNumber(int64_t _sequenceNumber);
void encode(ByteBuffer *bb);
char getType();
- Entry* getCopy(Slot *s);
+ Entry *getCopy(Slot *s);
};
-Entry * TransactionPart_decode(Slot* s, ByteBuffer* bb);
+Entry *TransactionPart_decode(Slot *s, ByteBuffer *bb);
#endif
#define TransactionStatus_StatusNoEffect 10
class TransactionStatus {
- private:
+private:
char status;
bool applicationReleased;
bool wasSentInChain;
int64_t transactionSequenceNumber;
int64_t arbitrator;
-
- public:
- TransactionStatus(char _status, int64_t _arbitrator) :
- status(_status),
+
+public:
+ TransactionStatus(char _status, int64_t _arbitrator) :
+ status(_status),
applicationReleased(false),
wasSentInChain(false),
transactionSequenceNumber(0),
arbitrator(_arbitrator) {
- }
-
+ }
+
char getStatus() { return status; }
void setStatus(char _status) { status = _status; }
int64_t getTransactionSequenceNumber() { return transactionSequenceNumber; }