OSVR Framework (Internal Development Docs)  0.6-1962-g59773924
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
SharedMemoryClient.cpp
Go to the documentation of this file.
1 
11 // Copyright 2015 Sensics, Inc.
12 //
13 // Licensed under the Apache License, Version 2.0 (the "License");
14 // you may not use this file except in compliance with the License.
15 // You may obtain a copy of the License at
16 //
17 // http://www.apache.org/licenses/LICENSE-2.0
18 //
19 // Unless required by applicable law or agreed to in writing, software
20 // distributed under the License is distributed on an "AS IS" BASIS,
21 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22 // See the License for the specific language governing permissions and
23 // limitations under the License.
24 
25 // Internal Includes
27 
28 // Library/third-party includes
29 // - none
30 
31 // Standard includes
32 #include <thread>
33 #include <chrono>
34 #include <iostream>
35 
36 int main() {
39  if (!buf) {
40  std::cout << "Couldn't find it." << std::endl;
41  return 1;
42  }
43 
44  std::cout << "Capacity: " << buf->getEntries() << " entries.\n";
45  std::cout << "Entry size: " << buf->getEntrySize() << " bytes per entry."
46  << std::endl;
47 
49  while (true) {
50  std::cin.ignore();
51  std::cout << "Sequence number " << seq << ": ";
52  auto res = buf->get(seq);
53  if (res) {
54  std::cout << (res.get())[0] << (res.get())[1] << (res.get())[2];
55  } else {
56  std::cout << "Not available";
57  }
58  std::cout << std::endl;
59  seq++;
60  }
61 
62  return 0;
63 }
static IPCRingBufferPtr find(Options const &opts)
Named constructor, for use by client processes: accesses an IPC ring buffer using the options structu...
uint32_t sequence_type
The sequence number is automatically incremented with each "put" into the buffer. Note that...