本文整理汇总了C++中Header::addLength方法的典型用法代码示例。如果您正苦于以下问题:C++ Header::addLength方法的具体用法?C++ Header::addLength怎么用?C++ Header::addLength使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Header
的用法示例。
在下文中一共展示了Header::addLength方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sendRegFile
bool Processor::sendRegFile(const char *filepath,File &file,Header &header)
{
char buffer[BUF_MAXLEN];
size_t len;
bool res = file.open(filepath);
if(!res)
{
handleError(REPLY_NOENT);
goto out;
}
len = file.size();
if(!len){
handleError(REPLY_INTERR);
res = false;
goto out;
}
header.addReply(REPLY_OK);
header.addDate();
header.addServer();
header.addLength(len);
header.addType(filepath);
header.addEnd();
res = sendHeader(header);
if(!res)
goto out;
while(len){
size_t ret,size;
size = (len>BUF_MAXLEN) ? BUF_MAXLEN:len;
res = file.read(buffer,size);
if(!res)
break;
ret = write(buffer,size);
if(ret!=size){
res = false;
break;
}
len -= size;
}
out:
file.close();
return res;
}
示例2: send
bool Processor::send(const void *buffer,size_t len,int reply)
{
Header header;
size_t res;
bool ret;
header.addReply(reply);
header.addDate();
header.addServer();
if(len>0) header.addLength(len);
header.addEnd();
ret = sendHeader(header);
if(!ret)
return false;
if(len>0){
res = write(buffer,len);
if(res<=0)
return false;
}
return true;
}
示例3: sendDir
bool Processor::sendDir(const char *filepath,File &file,Header &header)
{
bool res = true;
const char *buffer;
int len;
struct stat sbuf;
string data;
file.type(filepath,&sbuf);
if(!res)
{
handleError(REPLY_NOENT);
goto out;
}
len = sbuf.st_size;
cout << len << "***"<<endl;
if(!len){
handleError(REPLY_INTERR);
res = false;
goto out;
}
header.addReply(REPLY_OK);
header.addDate();
header.addServer();
header.addLength(len);
header.addEnd();
res = sendHeader(header);
if(!res)
goto out;
// while(len){
// size_t ret,size;
// size = (len>BUF_MAXLEN) ? BUF_MAXLEN:len;
// res = file.read(buffer,size);
//if(!res)
// break;
size_t size;
data = Page::dirPage(filepath);
buffer = data.c_str();
size = data.length();
res = write(buffer,size);
// if(ret!=size){
// res = false;
// break;
//}
//len -= size;
// }
// file.close();
out:
return res;
}