Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data UserInformation = UserInformation {}
- data IpcConnectionContext = IpcConnectionContext {
- ctxUserInfo :: Optional 2 (Message UserInformation)
- ctxProtocol :: Optional 3 (Value Text)
- data RpcKind
- data RpcOperation
- data RpcRequestHeader = RpcRequestHeader {
- reqKind :: Optional 1 (Enumeration RpcKind)
- reqOp :: Optional 2 (Enumeration RpcOperation)
- reqCallId :: Required 3 (Value (Signed Int32))
- reqClientId :: Required 4 (Value ByteString)
- reqRetryCount :: Optional 5 (Value (Signed Int32))
- data RequestHeader = RequestHeader {
- reqMethodName :: Required 1 (Value Text)
- reqProtocolName :: Required 2 (Value Text)
- reqProtocolVersion :: Required 3 (Value Word64)
- data RpcStatus
- data RpcResponseHeader = RpcResponseHeader {
- rspCallId :: Required 1 (Value Word32)
- rspStatus :: Required 2 (Enumeration RpcStatus)
- rspServerIpcVersion :: Optional 3 (Value Word32)
- rspExceptionClassName :: Optional 4 (Value Text)
- rspErrorMsg :: Optional 5 (Value Text)
- rspErrorDetail :: Optional 6 (Enumeration Error)
- rspClientId :: Optional 7 (Value ByteString)
- rspRetryCount :: Optional 8 (Value Int32)
- data Error
Documentation
data UserInformation Source
User information beyond what can be determined as part of the security handshake at connection time (kerberos, tokens, etc)
data IpcConnectionContext Source
The connection context is sent as part of the connection establishment. It establishes the context for ALL Rpc calls within the connection.
IpcConnectionContext | |
|
Determines the RPC Engine and the serialization of the RPC request.
Builtin | Used for built-in calls by tests |
Writable | Use WritableRpcEngine |
ProtocolBuffer | Use ProtobufRpcEngine |
data RpcOperation Source
FinalPacket | The final RPC packet |
ContinuationPacket | Not implemented yet |
CloseConnection | Close the RPC connection |
data RpcRequestHeader Source
RpcRequestHeader | |
|
data RequestHeader Source
This message is the header for the Protobuf Rpc Engine when sending a RPC request from RPC client to the RPC server. The actual request (serialized as protobuf) follows this request.
No special header is needed for the Rpc Response for Protobuf Rpc Engine. The normal RPC response header (see RpcHeader.proto) are sufficient.
RequestHeader | |
|
Success or failure. The reponse header's error detail, exception class name and error message contains further details on the error.
data RpcResponseHeader Source
Note that RPC response header is also used when connection setup fails. (i.e. the response looks like an RPC response with a fake callId)
In case of Fatal error then the respose contains the Serverside's IPC version.
RpcResponseHeader | |
|
Describes why an RPC error occurred.
ErrorApplication | RPC failed - RPC app threw exception |
ErrorNoSuchMethod | RPC error - no such method |
ErrorNoSuchProtocol | RPC error - no such protocol |
ErrorRpcServer | RPC error on server side |
ErrorSerializingResponse | Error serializing response |
ErrorRpcVersionMismatch | RPC protocol version mismatch |
ErrorCode Int | RPC error that we don't know about |
FatalUnknown | Unknown fatal error |
FatalUnsupportedSerialization | IPC layer serilization type invalid |
FatalInvalidRpcHeader | Fields of RPC header are invalid |
FatalDeserializingRequest | Could not deserialize RPC request |
FatalVersionMismatch | IPC layer version mismatch |
FatalUnauthorized | Auth failed |
FatalCode Int | Fatal error that we don't know about |