for (quit=false; !quit;) {
/* Read command */
- if (bnet_recv(dir) < 0) {
+ if (dir->recv() < 0) {
break; /* connection terminated */
}
dir->msg[dir->msglen] = 0;
if (strncmp(cmds[i].cmd, dir->msg, strlen(cmds[i].cmd)) == 0) {
found = true; /* indicate command found */
if (!jcr->authenticated && cmds[i].func != hello_cmd) {
- bnet_fsend(dir, no_auth);
- bnet_sig(dir, BNET_EOD);
+ dir->fsend(no_auth);
+ dir->signal(BNET_EOD);
break;
}
if ((jcr->authenticated) && (!cmds[i].monitoraccess) && (jcr->director->monitor)) {
Dmsg1(100, "Command \"%s\" is invalid.\n", cmds[i].cmd);
- bnet_fsend(dir, invalid_cmd);
- bnet_sig(dir, BNET_EOD);
+ dir->fsend(invalid_cmd);
+ dir->signal(BNET_EOD);
break;
}
Dmsg1(100, "Executing %s command.\n", cmds[i].cmd);
}
}
if (!found) { /* command not found */
- bnet_fsend(dir, errmsg);
+ dir->fsend(errmsg);
quit = true;
break;
}
/* Inform Storage daemon that we are done */
if (jcr->store_bsock) {
- bnet_sig(jcr->store_bsock, BNET_TERMINATE);
+ jcr->store_bsock->signal(BNET_TERMINATE);
}
/* Run the after job */
if (jcr->JobId) { /* send EndJob if running a job */
char ed1[50], ed2[50];
/* Send termination status back to Dir */
- bnet_fsend(dir, EndJob, jcr->JobStatus, jcr->JobFiles,
+ dir->fsend(EndJob, jcr->JobStatus, jcr->JobFiles,
edit_uint64(jcr->ReadBytes, ed1),
edit_uint64(jcr->JobBytes, ed2), jcr->Errors, jcr->VSS,
jcr->crypto.pki_encrypt);
return 0;
}
- return bnet_fsend(dir, OKsession);
+ return dir->fsend(OKsession);
}
/*
/*
* Open Read Session with Storage daemon
*/
- bnet_fsend(sd, read_open, "DummyVolume",
+ sd->fsend(read_open, "DummyVolume",
jcr->VolSessionId, jcr->VolSessionTime, jcr->StartFile, jcr->EndFile,
jcr->StartBlock, jcr->EndBlock);
Dmsg1(110, ">stored: %s", sd->msg);
/*
* Start read of data with Storage daemon
*/
- bnet_fsend(sd, read_data, jcr->Ticket);
+ sd->fsend(read_data, jcr->Ticket);
Dmsg1(110, ">stored: %s", sd->msg);
/*
static void filed_free_jcr(JCR *jcr)
{
if (jcr->store_bsock) {
- bnet_close(jcr->store_bsock);
+ jcr->store_bsock->close();
}
free_bootstrap(jcr);
if (jcr->last_fname) {
goto bail_out;
}
sd->msglen = pm_strcpy(sd->msg, bootstrap);
- bnet_send(sd);
+ sd->send();
while (fgets(buf, sizeof(buf), bs)) {
sd->msglen = Mmsg(sd->msg, "%s", buf);
- bnet_send(sd);
+ sd->send();
}
- bnet_sig(sd, BNET_EOD);
+ sd->signal(BNET_EOD);
fclose(bs);
if (!response(jcr, sd, OKSDbootstrap, "Bootstrap")) {
set_jcr_job_status(jcr, JS_ErrorTerminated);
*vtape driver
*Ignore Dir
separator in console (!$%&'()*+,-/:;<>?[]^`{|}~)
-Copy jobs
+*Copy jobs
+examples/database/dbcheck.sql
+dbi database driver
+ --enable-libdb
+ dbdriver in bacula-dir.conf
+--with-db-port
+support for Ubuntu
+status_slots???
+spoolSize by Job???
+recyclepool in dird/ua_select.co???
+enhancement to wait command: wait mount ...
+parse config
+plugindirectory
+dbport
+dbdriver
+maxrunschedtime???
+fullmaxwaittime???
+incrementalmaxwaittime???
+differentialmaxwaittime???
+fullmaxruntime???
+differentialmaxruntime???
+incrementalmaxruntime???
+optimizejobscheduling???
+spoolsize???
+usestatistics???
+pluginoptions
+plugin
+remove reader/writer in FOPTS????
General:
+03Sep08
+kes Add Slot if it is non-zero to writing bsr file after a
+ backup.
+kes Change a number of bnet_fsend() into class method calls.
+kes Begin audit of diff of 2.4 branch to trunk code.
01Sep08
ebl Fix the mysql creation script that double-created an
index of the same field on the Media table.