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