Object processing various requests and commands
![]() | SixMajordomo::AskForOnion () Asks for onion, if necessary |
![]() | SixMajordomo::BeginTransaction (ID *newTID) Starts the transaction |
![]() | SixMajordomo::CommandDataReceived (MsgField *paramFld) Handles the Data_received command |
![]() | SixMajordomo::CommandOnionGenerated (MsgField *dataFld) Serves "onion_generated" command from Mix |
![]() | SixMajordomo::CommandTest (MsgField *dataFld) Serves command Test from Mix |
![]() | SixMajordomo::CreateGenerateOnionMsg (Size hopCount = CFG_HOPS_IN_AC) Creates "generate_onion" message for Mix |
![]() | SixMajordomo::CreateGetACsMsg (Char *type, Int count) Creates "get_certificates" message for Mix |
![]() | SixMajordomo::CreateNextACTimeOutMsg (Char *type) Cretates timeout message |
![]() | SixMajordomo::CreatePublishCertificateMsg (GMessage *ac) Creates "publish_certificates" message for Mix |
![]() | SixMajordomo::CreateSendDataMsg (Char *commandSer, GMessage *dataSer, GMessage *ac, Size hops) Creates "send_data" message for Mix |
![]() | SixMajordomo::CreateTestMsg (MsgField *dataFld) Creates "test" message for Mix |
![]() | SixMajordomo::DRCTest (const MsgField *dataFld) Handles Test message from service |
![]() | SixMajordomo::DecryptDataMsg (const GMessage *dataMsg, MsgField **decryptedBodyFld, ACID *acid) Decrypts the field Body |
![]() | SixMajordomo::EndTransaction (ID tid) Finishes transaction |
![]() | SixMajordomo::FeedSenderWithMsgForMix (GMessage *mixMsg) Puts one message to the majordomoToSender queue |
![]() | SixMajordomo::FeedSenderWithOutMsgQueue () Puts the messages from outMsgQueue to the majordomoToSender queue |
![]() | SixMajordomo::FillReplyToInfo (GMessage *gMsg) Sets replyToInfo of GMessage |
![]() | SixMajordomo::FillTest (GMessage *gMsg, MsgField *msgFld) Sets GMessage as Test |
![]() | SixMajordomo::GenerateRequestForMissingACs (Char *acType) Generates request for ACs of given type |
![]() | SixMajordomo::GetACByACID (Char *type, ACID acID) Get AC of given type and ACID |
![]() | SixMajordomo::GetACs (Char *type, const int count, Queue *notIn) Returns ACs of given type |
![]() | SixMajordomo::GetTID () Returns current TID |
![]() | SixMajordomo::HandleDataReceivedBody (const MsgField *bodyFld, const ACID acid) Handles the command receiver from Service |
![]() | SixMajordomo::HandleGeneratedAC (GMessage *) Handles generated AC |
![]() | SixMajordomo::HandleMixMessage (GMessage *inMsg) Handles the message from Mix |
![]() | SixMajordomo::InsertAC (Char *type, GMessage *ac) Saves ACs of given type |
![]() | SixMajordomo::NextACTimeOut (Char *type, ESTime *t) Returns next timeout of ACManager of given type |
![]() | SixMajordomo::Run (void *) Main running loop of SixMajordomo |
![]() | SixMajordomo::SixMajordomo (Six * parent, LogFile * majordomoLogFile) Constructor of SixMajordomo |
![]() | SixMajordomo::SwitchDataReceivedCommand (const Char *command, const MsgField *dataFld, const ACID acid) Incoming message handling |
![]() | SixMajordomo::SwitchDataReceivedVersion (const Char *version, const GMessage *body, const ACID acid) Switches a method according to the version |
![]() | SixMajordomo::SwitchMixCommand (MsgField *commandFld, MsgField *dataFld) Chooses handling method |
![]() | SixMajordomo::TestACCount (Char *type, Int *missing) Test count of ACs of given type |
![]() | SixMajordomo::~SixMajordomo () Destructor of SixMajordomo |
![]() | methods
|
![]() | attributes
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | methods
|
Object processing various requests and commands. Processes various requests comming from network and from Mix. Also distributes messages to apropriate objects.
Queue* outMsgQueue
TransactionManager* transactionManager
Err FeedSenderWithMsgForMix(GMessage *mixMsg)
virtual Err SwitchMixCommand(MsgField *commandFld, MsgField *dataFld)
virtual Err CommandTest(MsgField *dataFld)
virtual Err CommandDataReceived(MsgField *dataFld)
virtual Err CommandOnionGenerated(MsgField *dataFld)
virtual Err HandleGeneratedAC(GMessage *generatedAC)
Err DecryptDataMsg(const GMessage *dataMsg, MsgField **decryptedBodyFld, ACID *acid)
Err HandleDataReceivedBody(const MsgField *bodyFld, const ACID acid)
virtual Err SwitchDataReceivedVersion(const Char *version, const GMessage *body, const ACID acid)
Err FillReplyToInfo(GMessage *gMsg)
virtual ~SixMajordomo()
virtual void* Run(void *)
GMessage* CreateSendDataMsg(Char *commandSer, GMessage *dataSer, GMessage *ac, Size hops = CFG_SEND_DATA_HOPS)
Err BeginTransaction(ID *newTID)
Err EndTransaction(ID tid)
ID GetTID()
virtual ACManager* GetPtrToACManager(Char *type)
virtual Err InsertAC(Char *type, GMessage *ac)
virtual Queue* GetACs(Char *type, const int count = 1, Queue *notIn = NULL)
virtual GMessage* GetACByACID(Char *type, ACID acID)
virtual Err NextACTimeOut(Char *type, ESTime *t)
virtual GMessage* CreateNextACTimeOutMsg(Char *type)
virtual Err TestACCount(Char *type, Int *missing)
virtual Err GenerateRequestForMissingACs(Char *acType)
Err SixMajordomo::BeginTransaction(ID *newTID)
Err SixMajordomo::CommandDataReceived(MsgField *paramFld)
Handles this message:
Data:
ACID:
Body: (encrypted by ACPubKey identified by ACID)
Version: (eso-others protocol version)
Command:
Data:
Err SixMajordomo::CommandOnionGenerated(MsgField *dataFld)
Err SixMajordomo::CommandTest(MsgField *dataFld)
GMessage* SixMajordomo::CreateGenerateOnionMsg(Size hopCount = CFG_HOPS_IN_AC)
End situation (what is returned):
[mixMsg]Command: generate_onion
Parameters:
[msg] Certificate_Type:
Count: hops
Request_ID:
GMessage* SixMajordomo::CreateGetACsMsg(Char *type, Int count)
[mixMsg]Command: get_certificates
Parameters:
[msg] Certificate_Type:
Count: hops
Request_ID:
count - count of ACs wanted
GMessage* SixMajordomo::CreateNextACTimeOutMsg(Char *type)
GMessage* SixMajordomo::CreatePublishCertificateMsg(GMessage *ac)
End situation (what is returned):
[mixMsg]Command: publish_certificates
Parameters:
[msg] Certificate-1:
GMessage* SixMajordomo::CreateSendDataMsg(Char *commandSer, GMessage *dataSer, GMessage *ac, Size hops)
end situation (what is returned):
[outMsg]Command: send_data
Parameters:
[msg3] AC: ac
Add-Hops: hops
Data:
[msg2] ACID:
Body: {CIPHERED WITH PUB_KEY OF ac}
[msg1] Command: commandSer
Data: dataSer
Version: eso_others protocol version
dataSer - data to send to Service
ac - ac of recipient
hops - number of hops to add
GMessage* SixMajordomo::CreateTestMsg(MsgField *dataFld)
End situation (what is returned):
[mixMsg]Command: test
Parameters: dataFld
Err SixMajordomo::DRCTest(const MsgField *dataFld)
Err SixMajordomo::DecryptDataMsg(const GMessage *dataMsg, MsgField **decryptedBodyFld, ACID *acid)
decryptedBodyField - returned decrypted field
acid - acid to decrypt with
Err SixMajordomo::EndTransaction(ID tid)
Err SixMajordomo::FeedSenderWithMsgForMix(GMessage *mixMsg)
Err SixMajordomo::FeedSenderWithOutMsgQueue()
Err SixMajordomo::FillReplyToInfo(GMessage *gMsg)
Err SixMajordomo::FillTest(GMessage *gMsg, MsgField *msgFld)
msgFld - field tu put in gMsg
Err SixMajordomo::GenerateRequestForMissingACs(Char *acType)
GMessage* SixMajordomo::GetACByACID(Char *type, ACID acID)
acid - acid to find
Queue* SixMajordomo::GetACs(Char *type, const int count, Queue *notIn)
count - count of ACs wanted
notIn - queue of ACs not wanted to include
ID SixMajordomo::GetTID()
Err SixMajordomo::HandleDataReceivedBody(const MsgField *bodyFld, const ACID acid)
acid - acid to which the message was sent
Err SixMajordomo::HandleGeneratedAC(GMessage *)
Void SixMajordomo::HandleMixMessage(GMessage *inMsg)
Err SixMajordomo::InsertAC(Char *type, GMessage *ac)
ac - ac to save
Err SixMajordomo::NextACTimeOut(Char *type, ESTime *t)
t - returned time
void* SixMajordomo::Run(void *)
SixMajordomo::SixMajordomo(Six * parent, LogFile * majordomoLogFile)
majordomoLogFile - logFile to write to
Err SixMajordomo::SwitchDataReceivedCommand(const Char *command, const MsgField *dataFld, const ACID acid)
dataFld - data received from service
acid - ID of AC to which the data was sent
Err SixMajordomo::SwitchDataReceivedVersion(const Char *version, const GMessage *body, const ACID acid)
body - body of the received GMessage
acid - ID of certificate to which the message came
Err SixMajordomo::SwitchMixCommand(MsgField *commandFld, MsgField *dataFld)
dataFld - data extracted from the message
Err SixMajordomo::TestACCount(Char *type, Int *missing)
missing - returned count of missing ACs
SixMajordomo::~SixMajordomo()
alphabetic index hierarchy of classes
generated by doc++