Commit Graph

41 Commits (d57c2441b8e913ae308ff882cc386664df63bb36)

Author SHA1 Message Date
Christoph Schütte d57c2441b8 Implement gRPC submap query. (#794) 2018-01-08 13:52:14 +01:00
gaschler 920a34a938 Fix RpcEvent lifetime (#793)
Fixes #788.

Uses two different types of events whether the event goes through the CompletionQueue or not.
CompletionQueueRpcEvent is again a member of Rpc.
2018-01-08 12:42:19 +01:00
Christoph Schütte 196b4b891c Add PoseGraphInterface::GetTrajectoryNodePoses() (#795) 2018-01-08 09:13:51 +01:00
Christoph Schütte 1a837ef3ab Introduce PoseGraphInterface::GetAllSubmapPoses() (#790) 2018-01-05 14:19:08 +01:00
gaschler 923d643b86 Fix obvious asan warnings. (#787)
Adds a few missing overrides and removes a std::move that
prevented copy elision.
2018-01-05 10:18:08 +01:00
gaschler dbb3f7cde4 Test TrajectoryBuilderStub (#780) 2018-01-03 14:56:56 +01:00
gaschler c881fe90cf Stub receives LocalSlamResults. (#778)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
PAIR=cschuet
2017-12-20 12:42:27 +01:00
gaschler f5e99089a9 Notify LocalSlamResults subscription ends. (#777)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
PAIR=cschuet
2017-12-20 11:42:01 +01:00
Christoph Schütte e0faf7094e Change MapBuilderServer::LocalSlamSubscriptionCallback (#776)
PAIR=gaschler
2017-12-20 09:46:54 +01:00
gaschler 383b988548 TrajectoryBuilderStub sends WritesDone (#774)
This is required to close the connection, otherwise the server
cannot shutdown.
2017-12-19 15:49:56 +01:00
Christoph Schütte 02734c296d Implement ReceiveLocalSlamResultsHandler. (#772) 2017-12-19 15:11:29 +01:00
gaschler 5fbc4ca568 Test gRPC client/server (#773)
Adds an integration test and a test with a mock MapBuilderInterface to cover client/server communication.
2017-12-19 14:36:25 +01:00
Christoph Schütte dea6c3d7ce Implement server-streaming RPCs and add unittest (#768)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-12-19 10:27:30 +01:00
Christoph Schütte c79425cbb0 Implement RpcHandler::GetWriter and add unittest (#767) 2017-12-18 21:27:03 +01:00
gaschler def442b9db Make MapBuilderServer testable (#771)
Pass MapBuilder to the constructor so the MapBuilder can be mocked.
2017-12-18 20:47:00 +01:00
gaschler 5bb81a9b4a correct MapBuilderStub (#770)
Context: The `::grpc::ClientContext` represents a single RPC on the client side. Therefore it is illegal to share the same context between two different RPC invocations.
2017-12-18 17:12:29 +01:00
Christoph Schütte 03751b3c9f Implement local SLAM subscriptions in MapBuilderServer (#766) 2017-12-18 16:32:34 +01:00
gaschler db0d5bc746 correct PoseGraphStub (#769) 2017-12-18 15:57:49 +01:00
Christoph Schütte ba7d375a25 Refactor Write()/Finish() and make thread-safe. (#760)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-12-18 13:36:44 +01:00
gaschler c6decd5b7b Test MapBuilderServer (#762)
Test to start and stop the MapBuilderServer.
Moves test helper functions in common with MapBuilderTest
to internal/mapping.
2017-12-18 11:52:17 +01:00
gaschler 89b49dfefb TrajectoryBuilderStub implementation (#764) 2017-12-18 11:24:16 +01:00
gaschler 3fbc642a89 PopWithTimeout for sensor data queue (#763)
PopWithTimeout is necessary to ensure the SLAM thread
in the MapBuilderServer finishes when the server is
shut down.
2017-12-18 10:02:57 +01:00
gaschler d49706944f FixedFramePoseData in gRPC server (#761)
Defines the FixedFramePoseData RPC and implements
the handler for the gRPC server.
2017-12-15 15:26:58 +01:00
Christoph Schütte 69f74a11ba Implement EventQueues. (#759) 2017-12-15 12:21:44 +01:00
Christoph Schütte e023ec5ecc In RpcEvent use std::weak_ptr<Rpc> rather than Rpc* (#757)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-12-14 16:30:01 +01:00
Christoph Schütte e16d1b1207 Heap-allocate RpcEvents. (#756)
Replace Rpc's RpcEvent members with heap-allocated RpcEvents.

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-12-13 18:01:01 +01:00
Christoph Schütte 69787f288f Introduce skeletons for various stubs. (#752)
Adds skeletons for

* MapBuilderStub
* PoseGraphStub
* TrajectoryBuilderStub

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-12-13 15:53:47 +01:00
Christoph Schütte bf77b11645 Implement gRPC data handlers and SLAM thread. (#749) 2017-12-12 22:36:44 +01:00
Christoph Schütte e596b75113 Add binary for cartographer_grpc_server. (#747)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-12-11 19:09:52 +01:00
Christoph Schütte c5ec086968 Introduce TimedPointCloudData. (#748)
This data structure is needed to forward RangeFinderData over gRPC.

[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-12-08 19:28:47 +01:00
Michael Grupp 176fc42c3f Remove empty leftover of pose_estimate.h (#740)
Follow-up of #670.
2017-12-07 08:53:04 +01:00
Christoph Schütte ded778cd34
Implementation of Add/FinishTrajectoryHandler. (#732) 2017-12-05 16:36:54 +01:00
Christoph Schütte 697be9a77b
Add MappingServer skeleton. (#730) 2017-12-05 14:46:25 +01:00
Christoph Schütte e950062367
Add Cartographer service proto. (#723) 2017-12-04 17:30:42 +01:00
Christoph Schütte 32a8364b98
Implement bi-directional streaming RPCs. (#720)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-12-04 15:28:19 +01:00
Christoph Schütte 5147af9763
Implement unary gRPC calls. (#719)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-11-30 13:18:16 +01:00
Christoph Schütte 999820d845 Implement shared ExecutionContext for handlers. (#716)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-11-29 14:05:31 +01:00
Christoph Schütte 3a46804393 Implement end-to-end client streaming RPC. (#713)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-11-29 10:40:26 +01:00
Christoph Schütte 02359a98ae Implement connection establishment and server startup and shutdown. (#712)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-11-28 10:50:30 +01:00
Christoph Schütte cd289bbcee Introduce RPC class and start wiring up in Service (#701)
[RFC=0002](https://github.com/googlecartographer/rfcs/blob/master/text/0002-cloud-based-mapping-1.md)
2017-11-24 23:41:58 +01:00
Christoph Schütte 38eeb17164 Introduce gRPC server, service and rpc handlers (#692) 2017-11-23 15:37:30 +01:00