Lines Matching full:call

64  (3) Retention of the reusable bits of the transport system set up for one call
122 (#) Each RxRPC operation is a "call". A connection may make up to four
147 explicitly sequenced per call.
158 (#) An call is complete when the request has been sent, the reply has been
162 (#) An call may be aborted by either end at any time up to its completion.
182 the last call currently using it has completed in case a new call is made
215 be used in all other sendmsgs or recvmsgs associated with that call. The
220 first sendmsg() of a call (struct msghdr::msg_name).
226 first sendmsg() of the call must specify the target address. The server's
229 (#) Once the application has received the last message associated with a call,
231 client resources. A new call can then be initiated with the same tag
238 (#) When sending data for a call, sendmsg is given MSG_MORE if there's more
239 data to come on that call.
241 (#) When receiving data for a call, recvmsg flags MSG_MORE if there's more
242 data to come for that call.
244 (#) When receiving data or messages for a call, MSG_EOR is flagged by recvmsg
245 to indicate the terminal message for that call.
247 (#) A call may be aborted by adding an abort control message to the control
248 data. Issuing an abort terminates the kernel's use of that call's tag.
249 Any messages waiting in the receive queue for that call will be discarded.
253 an abort or a busy message terminates the kernel's use of that call's tag.
257 (#) The tag of the intended or affected call.
265 (#) When the kernel has received and set up an incoming call, it sends a
266 message to server application to let it know there's a new call awaiting
268 application then uses sendmsg to assign a tag to the new call. Once that
296 (#) If there's a sequence of data messages belonging to a particular call on
299 (a) it meets the end of that call's received data,
303 (c) it meets a message belonging to a different call, or
317 (4) If there is more data to be had on a call (it hasn't copied the last byte
331 RXRPC_USER_CALL_ID sr- User ID App's call specifier
334 RXRPC_NET_ERROR -rt error num Network error on call
335 RXRPC_BUSY -rt n/a Call rejected (server busy)
337 RXRPC_NEW_CALL -r- n/a New call received
338 RXRPC_ACCEPT s-- n/a Accept new call
339 RXRPC_EXCLUSIVE_CALL s-- n/a Make an exclusive client call
340 RXRPC_UPGRADE_SERVICE s-- n/a Client call can be upgraded
348 This is used to indicate the application's call ID. It's an unsigned long
356 This is can be used by an application to abort a call by passing it to
359 specify the call affected. If an abort is being sent, then error EBADSLT
360 will be returned if there is no call with that user ID.
365 of a call was received from the client. It will be associated with an
366 RXRPC_USER_CALL_ID to indicate the call that's now complete.
373 indicating the problem, and an RXRPC_USER_CALL_ID will indicate the call
378 This is delivered to a client application to indicate that a call was
380 associated with an RXRPC_USER_CALL_ID to indicate the rejected call.
385 encountered and that a call has been aborted because of it. An
387 indicating the problem, and an RXRPC_USER_CALL_ID will indicate the call
392 This is delivered to indicate to a server application that a new call has
398 This is used by a server application to attempt to accept a call and
400 to indicate the user ID to be assigned. If there is no call to be
402 return error ENODATA. If the user ID is already in use by another call,
407 This is used to indicate that a client call should be made on a one-off
408 connection. The connection is discarded once the call has terminated.
412 This is used to make a client call to probe if the specified service ID
425 going to be transmitted by a call (whether in a client request or a
429 first sendmsg() providing data for a call. EMSGSIZE will be generated if
462 This is used to request that new connections should be used for each call
602 RXRPC_USER_CALL_ID specifies the user ID for this call
609 sendmsg() call.
611 If a call is intended to go to a destination other than the default
613 first request message of that call.
617 for a particular call to be read. MSG_EOR will be set on the terminal
618 read for a call.
622 RXRPC_USER_CALL_ID - specifies the user ID for this call
626 call.
630 first sendmsg() of a call. The client should then check srx_service in the
706 ignored since the call for which the message was posted may have gone by
707 the time it is accepted - in which case the first call still on the queue
710 (7) The server then accepts the new call by issuing a sendmsg() with two
715 RXRPC_USER_CALL_ID specify user ID for this call
719 recvmsg() to pick up. At that point, the RxRPC address for the call can
730 RXRPC_USER_CALL_ID specifies the user ID for this call
737 RXRPC_USER_CALL_ID specifies the user ID for this call
741 for a particular call.
748 RXRPC_USER_CALL_ID specifies the user ID for this call
753 this call.
755 (11) Up to the point the final packet of reply data is sent, the call can be
760 RXRPC_USER_CALL_ID specifies the user ID for this call
769 determine the call affected.
782 (2) Avoid having RxRPC call request_key() at the point of issue of a call or
786 when the call is initiated.
790 (4) Avoid the overhead of using the recvmsg() call. RxRPC messages can be
800 (#) Begin a new client call::
814 This allocates the infrastructure to make a new RxRPC call and assigns
815 call and connection numbers. The call will be made on the UDP port that
816 the socket is bound to. The call will go to the destination address of a
820 If a key is supplied then this will be used to secure the call instead of
829 with this call (or -1 if unknown at this point). Setting the data size
840 intr should be set to true if the call should be interruptible. If this
844 debug_id is the call debugging ID to be used for tracing. This can be
847 If this function is successful, an opaque reference to the RxRPC call is
851 (#) Shut down a client call::
854 struct rxrpc_call *call);
856 This is used to shut down a previously begun call. The user_call_ID is
858 association with the specified call.
860 (#) Release the ref on a client call::
863 struct rxrpc_call *call);
865 This is used to release the caller's ref on an rxrpc call.
867 (#) Send data through a call::
874 struct rxrpc_call *call,
879 This is used to supply either the request part of a client call or the
880 reply part of a server call. msg.msg_iovlen and msg.msg_iov specify the
883 MSG_MORE if there will be subsequent data sends for this call.
889 called when the call changes state to end the Tx phase. This function is
893 (#) Receive data from a call::
896 struct rxrpc_call *call,
904 This is used to receive data from either the reply part of a client call
905 or the request part of a service call. buf and size specify how much
925 The service ID that the call ended up with is returned into *_service.
926 This can be used to see if a call got a service upgrade.
928 (#) Abort a call??
933 struct rxrpc_call *call,
936 This is used to abort a call if it's still in an abortable state. The
956 to the call and the socket buffer containing the message.
964 RXRPC_SKB_MARK_FINAL_ACK Final ACK received for an incoming call
965 RXRPC_SKB_MARK_BUSY Client call rejected as server busy
966 RXRPC_SKB_MARK_REMOTE_ABORT Call aborted by peer
969 RXRPC_SKB_MARK_NEW_CALL New incoming call awaiting acceptance
974 A new call can be accepted with rxrpc_kernel_accept_call().
984 but this may pin the state of a call until the message is finally freed.
986 (#) Accept an incoming call::
992 This is used to accept an incoming call and to assign it a call ID. This
996 If this function is successful, an opaque reference to the RxRPC call is
1000 (#) Reject an incoming call::
1004 This is used to reject the first incoming call on the socket's queue with
1006 Other errors may be returned if the call had been aborted (-ECONNABORTED)
1016 (#) Get the peer address of a call::
1018 void rxrpc_kernel_get_peer(struct socket *sock, struct rxrpc_call *call,
1021 This is used to find the remote peer address of a call.
1023 (#) Set the total transmit data size on a call::
1026 struct rxrpc_call *call,
1030 call. It's intended to be used for setting the reply size as the request
1031 size should be set when the call is begun. tx_total_len may not be less
1034 (#) Get call RTT::
1036 u64 rxrpc_kernel_get_rtt(struct socket *sock, struct rxrpc_call *call);
1038 Get the RTT time to the peer in use by a call. The value returned is in
1041 (#) Check call still alive::
1044 struct rxrpc_call *call,
1047 struct rxrpc_call *call);
1051 which we can elicit by sending PING ACKs to see if the call still exists
1053 if the call is still alive after waiting for a suitable interval. It also
1054 returns true as long as the call hasn't yet reached the completed state.
1057 if the call is still alive on the server while waiting for the server to
1068 struct rxrpc_call *call)
1071 call to be queried. This value is returned. The function always
1072 successful if the call is still in progress. It shouldn't be called once
1073 the call has expired. Note that calling this on a local client call only
1079 (#) Set the maximum lifespan on a call::
1082 struct rxrpc_call *call,
1085 This sets the maximum lifespan on a call to hard_timeout (which is in
1086 jiffies). In the event of the timeout occurring, the call will be
1135 The maximum amount of time in seconds that a call may be in progress
1140 The amount of time in seconds before we remove a dead call from the call
1161 particular call.