# dgl.contrib.graph_store.SharedMemoryDGLGraph.send_and_recv¶

SharedMemoryDGLGraph.send_and_recv(edges, message_func='default', reduce_func='default', apply_node_func='default', inplace=True)[source]

Send messages along edges and let destinations receive them.

Optionally, apply a function to update the node features after receive.

In the graph store, all updates are written inplace.

This is a convenient combination for performing send(self, self.edges, message_func) and recv(self, dst, reduce_func, apply_node_func), where dst are the destinations of the edges.

Parameters: edges (valid edges type) – Edges on which to apply func. See send() for valid edges type. message_func (callable, optional) – Message function on the edges. The function should be an Edge UDF. reduce_func (callable, optional) – Reduce function on the node. The function should be a Node UDF. apply_node_func (callable, optional) – Apply function on the nodes. The function should be a Node UDF. inplace (bool, optional) – The value is always True.