gloo/transport/ibverbs/context.cc (25 lines of code) (raw):
/**
* Copyright (c) 2018-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree.
*/
#include "gloo/transport/ibverbs/context.h"
#include "gloo/common/error.h"
#include "gloo/transport/ibverbs/device.h"
#include "gloo/transport/ibverbs/pair.h"
namespace gloo {
namespace transport {
namespace ibverbs {
Context::Context(std::shared_ptr<Device> device, int rank, int size)
: ::gloo::transport::Context(rank, size), device_(device) {}
Context::~Context() {}
std::unique_ptr<transport::Pair>& Context::createPair(int rank) {
pairs_[rank] = std::unique_ptr<transport::Pair>(
new ibverbs::Pair(device_, getTimeout()));
return pairs_[rank];
}
std::unique_ptr<transport::UnboundBuffer> Context::createUnboundBuffer(
void* ptr,
size_t size) {
GLOO_THROW_INVALID_OPERATION_EXCEPTION(
"Unbound buffers not supported yet for ibverbs transport");
return std::unique_ptr<transport::UnboundBuffer>();
}
} // namespace ibverbs
} // namespace transport
} // namespace gloo