Commit e8345589 authored by Steven Murray's avatar Steven Murray
Browse files

ProcessForker can now reply to requests including replying with an error

parent 18fcd1c1
......@@ -2,11 +2,13 @@ add_library(castormessages SHARED
ForkCleaner.pb.cc
ForkDataTransfer.pb.cc
ForkLabel.pb.cc
ForkSucceeded.pb.cc
Header.pb.cc
Heartbeat.pb.cc
messages.cpp
NotifyDrive.pb.cc
ReplyContainer.cpp
Status.pb.cc
StopProcessForker.pb.cc
TapeserverProxy.cpp
TapeserverProxyDummy.cpp
......
// Generated by the protocol buffer compiler. DO NOT EDIT!
#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
#include "ForkSucceeded.pb.h"
#include <google/protobuf/stubs/once.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/wire_format_lite_inl.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
namespace castor {
namespace messages {
namespace {
const ::google::protobuf::Descriptor* ForkSucceeded_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
ForkSucceeded_reflection_ = NULL;
} // namespace
void protobuf_AssignDesc_ForkSucceeded_2eproto() {
protobuf_AddDesc_ForkSucceeded_2eproto();
const ::google::protobuf::FileDescriptor* file =
::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
"ForkSucceeded.proto");
GOOGLE_CHECK(file != NULL);
ForkSucceeded_descriptor_ = file->message_type(0);
static const int ForkSucceeded_offsets_[1] = {
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ForkSucceeded, pid_),
};
ForkSucceeded_reflection_ =
new ::google::protobuf::internal::GeneratedMessageReflection(
ForkSucceeded_descriptor_,
ForkSucceeded::default_instance_,
ForkSucceeded_offsets_,
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ForkSucceeded, _has_bits_[0]),
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ForkSucceeded, _unknown_fields_),
-1,
::google::protobuf::DescriptorPool::generated_pool(),
::google::protobuf::MessageFactory::generated_factory(),
sizeof(ForkSucceeded));
}
namespace {
GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
inline void protobuf_AssignDescriptorsOnce() {
::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
&protobuf_AssignDesc_ForkSucceeded_2eproto);
}
void protobuf_RegisterTypes(const ::std::string&) {
protobuf_AssignDescriptorsOnce();
::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
ForkSucceeded_descriptor_, &ForkSucceeded::default_instance());
}
} // namespace
void protobuf_ShutdownFile_ForkSucceeded_2eproto() {
delete ForkSucceeded::default_instance_;
delete ForkSucceeded_reflection_;
}
void protobuf_AddDesc_ForkSucceeded_2eproto() {
static bool already_here = false;
if (already_here) return;
already_here = true;
GOOGLE_PROTOBUF_VERIFY_VERSION;
::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
"\n\023ForkSucceeded.proto\022\017castor.messages\"\034"
"\n\rForkSucceeded\022\013\n\003pid\030\001 \002(\004", 68);
::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
"ForkSucceeded.proto", &protobuf_RegisterTypes);
ForkSucceeded::default_instance_ = new ForkSucceeded();
ForkSucceeded::default_instance_->InitAsDefaultInstance();
::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_ForkSucceeded_2eproto);
}
// Force AddDescriptors() to be called at static initialization time.
struct StaticDescriptorInitializer_ForkSucceeded_2eproto {
StaticDescriptorInitializer_ForkSucceeded_2eproto() {
protobuf_AddDesc_ForkSucceeded_2eproto();
}
} static_descriptor_initializer_ForkSucceeded_2eproto_;
// ===================================================================
#ifndef _MSC_VER
const int ForkSucceeded::kPidFieldNumber;
#endif // !_MSC_VER
ForkSucceeded::ForkSucceeded()
: ::google::protobuf::Message() {
SharedCtor();
}
void ForkSucceeded::InitAsDefaultInstance() {
}
ForkSucceeded::ForkSucceeded(const ForkSucceeded& from)
: ::google::protobuf::Message() {
SharedCtor();
MergeFrom(from);
}
void ForkSucceeded::SharedCtor() {
_cached_size_ = 0;
pid_ = GOOGLE_ULONGLONG(0);
::memset(_has_bits_, 0, sizeof(_has_bits_));
}
ForkSucceeded::~ForkSucceeded() {
SharedDtor();
}
void ForkSucceeded::SharedDtor() {
if (this != default_instance_) {
}
}
void ForkSucceeded::SetCachedSize(int size) const {
GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
_cached_size_ = size;
GOOGLE_SAFE_CONCURRENT_WRITES_END();
}
const ::google::protobuf::Descriptor* ForkSucceeded::descriptor() {
protobuf_AssignDescriptorsOnce();
return ForkSucceeded_descriptor_;
}
const ForkSucceeded& ForkSucceeded::default_instance() {
if (default_instance_ == NULL) protobuf_AddDesc_ForkSucceeded_2eproto(); return *default_instance_;
}
ForkSucceeded* ForkSucceeded::default_instance_ = NULL;
ForkSucceeded* ForkSucceeded::New() const {
return new ForkSucceeded;
}
void ForkSucceeded::Clear() {
if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
pid_ = GOOGLE_ULONGLONG(0);
}
::memset(_has_bits_, 0, sizeof(_has_bits_));
mutable_unknown_fields()->Clear();
}
bool ForkSucceeded::MergePartialFromCodedStream(
::google::protobuf::io::CodedInputStream* input) {
#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
::google::protobuf::uint32 tag;
while ((tag = input->ReadTag()) != 0) {
switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
// required uint64 pid = 1;
case 1: {
if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
::google::protobuf::uint64, ::google::protobuf::internal::WireFormatLite::TYPE_UINT64>(
input, &pid_)));
_set_bit(0);
} else {
goto handle_uninterpreted;
}
if (input->ExpectAtEnd()) return true;
break;
}
default: {
handle_uninterpreted:
if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
return true;
}
DO_(::google::protobuf::internal::WireFormat::SkipField(
input, tag, mutable_unknown_fields()));
break;
}
}
}
return true;
#undef DO_
}
void ForkSucceeded::SerializeWithCachedSizes(
::google::protobuf::io::CodedOutputStream* output) const {
// required uint64 pid = 1;
if (_has_bit(0)) {
::google::protobuf::internal::WireFormatLite::WriteUInt64(1, this->pid(), output);
}
if (!unknown_fields().empty()) {
::google::protobuf::internal::WireFormat::SerializeUnknownFields(
unknown_fields(), output);
}
}
::google::protobuf::uint8* ForkSucceeded::SerializeWithCachedSizesToArray(
::google::protobuf::uint8* target) const {
// required uint64 pid = 1;
if (_has_bit(0)) {
target = ::google::protobuf::internal::WireFormatLite::WriteUInt64ToArray(1, this->pid(), target);
}
if (!unknown_fields().empty()) {
target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
unknown_fields(), target);
}
return target;
}
int ForkSucceeded::ByteSize() const {
int total_size = 0;
if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
// required uint64 pid = 1;
if (has_pid()) {
total_size += 1 +
::google::protobuf::internal::WireFormatLite::UInt64Size(
this->pid());
}
}
if (!unknown_fields().empty()) {
total_size +=
::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
unknown_fields());
}
GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
_cached_size_ = total_size;
GOOGLE_SAFE_CONCURRENT_WRITES_END();
return total_size;
}
void ForkSucceeded::MergeFrom(const ::google::protobuf::Message& from) {
GOOGLE_CHECK_NE(&from, this);
const ForkSucceeded* source =
::google::protobuf::internal::dynamic_cast_if_available<const ForkSucceeded*>(
&from);
if (source == NULL) {
::google::protobuf::internal::ReflectionOps::Merge(from, this);
} else {
MergeFrom(*source);
}
}
void ForkSucceeded::MergeFrom(const ForkSucceeded& from) {
GOOGLE_CHECK_NE(&from, this);
if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
if (from._has_bit(0)) {
set_pid(from.pid());
}
}
mutable_unknown_fields()->MergeFrom(from.unknown_fields());
}
void ForkSucceeded::CopyFrom(const ::google::protobuf::Message& from) {
if (&from == this) return;
Clear();
MergeFrom(from);
}
void ForkSucceeded::CopyFrom(const ForkSucceeded& from) {
if (&from == this) return;
Clear();
MergeFrom(from);
}
bool ForkSucceeded::IsInitialized() const {
if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
return true;
}
void ForkSucceeded::Swap(ForkSucceeded* other) {
if (other != this) {
std::swap(pid_, other->pid_);
std::swap(_has_bits_[0], other->_has_bits_[0]);
_unknown_fields_.Swap(&other->_unknown_fields_);
std::swap(_cached_size_, other->_cached_size_);
}
}
::google::protobuf::Metadata ForkSucceeded::GetMetadata() const {
protobuf_AssignDescriptorsOnce();
::google::protobuf::Metadata metadata;
metadata.descriptor = ForkSucceeded_descriptor_;
metadata.reflection = ForkSucceeded_reflection_;
return metadata;
}
// @@protoc_insertion_point(namespace_scope)
} // namespace messages
} // namespace castor
// @@protoc_insertion_point(global_scope)
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: ForkSucceeded.proto
#ifndef PROTOBUF_ForkSucceeded_2eproto__INCLUDED
#define PROTOBUF_ForkSucceeded_2eproto__INCLUDED
#include <string>
#include <google/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 2003000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 2003000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/repeated_field.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/generated_message_reflection.h>
// @@protoc_insertion_point(includes)
namespace castor {
namespace messages {
// Internal implementation detail -- do not call these.
void protobuf_AddDesc_ForkSucceeded_2eproto();
void protobuf_AssignDesc_ForkSucceeded_2eproto();
void protobuf_ShutdownFile_ForkSucceeded_2eproto();
class ForkSucceeded;
// ===================================================================
class ForkSucceeded : public ::google::protobuf::Message {
public:
ForkSucceeded();
virtual ~ForkSucceeded();
ForkSucceeded(const ForkSucceeded& from);
inline ForkSucceeded& operator=(const ForkSucceeded& from) {
CopyFrom(from);
return *this;
}
inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
return _unknown_fields_;
}
inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
return &_unknown_fields_;
}
static const ::google::protobuf::Descriptor* descriptor();
static const ForkSucceeded& default_instance();
void Swap(ForkSucceeded* other);
// implements Message ----------------------------------------------
ForkSucceeded* New() const;
void CopyFrom(const ::google::protobuf::Message& from);
void MergeFrom(const ::google::protobuf::Message& from);
void CopyFrom(const ForkSucceeded& from);
void MergeFrom(const ForkSucceeded& from);
void Clear();
bool IsInitialized() const;
int ByteSize() const;
bool MergePartialFromCodedStream(
::google::protobuf::io::CodedInputStream* input);
void SerializeWithCachedSizes(
::google::protobuf::io::CodedOutputStream* output) const;
::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
int GetCachedSize() const { return _cached_size_; }
private:
void SharedCtor();
void SharedDtor();
void SetCachedSize(int size) const;
public:
::google::protobuf::Metadata GetMetadata() const;
// nested types ----------------------------------------------------
// accessors -------------------------------------------------------
// required uint64 pid = 1;
inline bool has_pid() const;
inline void clear_pid();
static const int kPidFieldNumber = 1;
inline ::google::protobuf::uint64 pid() const;
inline void set_pid(::google::protobuf::uint64 value);
// @@protoc_insertion_point(class_scope:castor.messages.ForkSucceeded)
private:
::google::protobuf::UnknownFieldSet _unknown_fields_;
mutable int _cached_size_;
::google::protobuf::uint64 pid_;
friend void protobuf_AddDesc_ForkSucceeded_2eproto();
friend void protobuf_AssignDesc_ForkSucceeded_2eproto();
friend void protobuf_ShutdownFile_ForkSucceeded_2eproto();
::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
// WHY DOES & HAVE LOWER PRECEDENCE THAN != !?
inline bool _has_bit(int index) const {
return (_has_bits_[index / 32] & (1u << (index % 32))) != 0;
}
inline void _set_bit(int index) {
_has_bits_[index / 32] |= (1u << (index % 32));
}
inline void _clear_bit(int index) {
_has_bits_[index / 32] &= ~(1u << (index % 32));
}
void InitAsDefaultInstance();
static ForkSucceeded* default_instance_;
};
// ===================================================================
// ===================================================================
// ForkSucceeded
// required uint64 pid = 1;
inline bool ForkSucceeded::has_pid() const {
return _has_bit(0);
}
inline void ForkSucceeded::clear_pid() {
pid_ = GOOGLE_ULONGLONG(0);
_clear_bit(0);
}
inline ::google::protobuf::uint64 ForkSucceeded::pid() const {
return pid_;
}
inline void ForkSucceeded::set_pid(::google::protobuf::uint64 value) {
_set_bit(0);
pid_ = value;
}
// @@protoc_insertion_point(namespace_scope)
} // namespace messages
} // namespace castor
#ifndef SWIG
namespace google {
namespace protobuf {
} // namespace google
} // namespace protobuf
#endif // SWIG
// @@protoc_insertion_point(global_scope)
#endif // PROTOBUF_ForkSucceeded_2eproto__INCLUDED
// This file is part of the Castor project.
// See http://castor.web.cern.ch/castor
//
// Copyright (C) 2003 CERN
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//
//
//
// @author Castor Dev team, castor-dev@cern.ch
package castor.messages;
message ForkSucceeded {
required uint64 pid = 1;
}
//
// castor/messages/TapeserverProxyFactory.cpp
//
// This file is part of the Castor project.
// See http://castor.web.cern.ch/castor
//
......@@ -49,4 +46,4 @@ message Header {
message ReturnValue{
required uint32 returnValue = 1;
required string message= 2;
}
\ No newline at end of file
}
// Generated by the protocol buffer compiler. DO NOT EDIT!
#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
#include "Status.pb.h"
#include <google/protobuf/stubs/once.h>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/wire_format_lite_inl.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
namespace castor {
namespace messages {
namespace {
const ::google::protobuf::Descriptor* Status_descriptor_ = NULL;
const ::google::protobuf::internal::GeneratedMessageReflection*
Status_reflection_ = NULL;
} // namespace
void protobuf_AssignDesc_Status_2eproto() {
protobuf_AddDesc_Status_2eproto();
const ::google::protobuf::FileDescriptor* file =
::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
"Status.proto");
GOOGLE_CHECK(file != NULL);
Status_descriptor_ = file->message_type(0);
static const int Status_offsets_[2] = {
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Status, status_),
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Status, message_),
};
Status_reflection_ =
new ::google::protobuf::internal::GeneratedMessageReflection(
Status_descriptor_,
Status::default_instance_,
Status_offsets_,
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Status, _has_bits_[0]),
GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Status, _unknown_fields_),
-1,
::google::protobuf::DescriptorPool::generated_pool(),
::google::protobuf::MessageFactory::generated_factory(),
sizeof(Status));
}
namespace {
GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
inline void protobuf_AssignDescriptorsOnce() {
::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
&protobuf_AssignDesc_Status_2eproto);
}
void protobuf_RegisterTypes(const ::std::string&) {
protobuf_AssignDescriptorsOnce();
::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
Status_descriptor_, &Status::default_instance());
}
} // namespace
void protobuf_ShutdownFile_Status_2eproto() {
delete Status::default_instance_;
delete Status_reflection_;
}
void protobuf_AddDesc_Status_2eproto() {
static bool already_here = false;
if (already_here) return;
already_here = true;
GOOGLE_PROTOBUF_VERIFY_VERSION;
::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
"\n\014Status.proto\022\017castor.messages\")\n\006Statu"
"s\022\016\n\006status\030\001 \002(\r\022\017\n\007message\030\002 \002(\t", 74);
::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(