|
NAME"Protocol::CassandraCQL::Frames" - build or parse frame bodies for specific message typesSYNOPSISuse Protocol::CassandraCQL qw( build_frame ); use Protocol::CassandraCQL::Frames qw( build_query_frame ); my $bytes = build_frame( 0x01, 0, $streamid, OPCODE_QUERY, build_query_frame( 1, cql => "CQL STRING", consistency => $consistency )->bytes ); DESCRIPTIONThis module provides a number of convenient functions to build and parse frame bodies for specific kinds of "CQL" message. Each should be paired with a call to "build_frame" or "send_frame" with the appropriate opcode constant, or invoked after "parse_frame" or "recv_frame" has received a frame with the appropriate opcode.Each "build_*" function takes as its first argument the "CQL" protocol version (the value that will be passed to "build_frame" or "send_frame"). This value is used to ensure all the correct information is present in the frame body, and that no optional parameters are passed that the chosen version of the protocol cannot support. FUNCTIONS$frame = build_startup_frame( $version, options => \%options )Builds the frame for an "OPCODE_STARTUP" message. Takes a reference to a hash of named options. These options should include "CQL_VERSION".$frame = build_credentials_frame( $version, credentials => \%credentials )Builds the frame for an "OPCODE_CREDENTIALS" message. Takes a reference to a hash of credentials, the exact keys of which will depend on the authenticator returned by the "OPCODE_AUTHENTICATE" message.$frame = build_query_frame( $version, cql => $cql, QUERY_PARAMS )Builds the frame for an "OPCODE_QUERY" message. Takes the CQL string and the query parameters."QUERY_PARAMS" contains the following keys:
$frame = build_prepare_frame( $version, cql => $cql )Builds the frame for an "OPCODE_PREPARE" message. Takes the CQL string.$frame = build_execute_frame( $version, id => $id, QUERY_PARAMS )Builds the frame for an "OPCODE_EXECUTE" message. Takes the prepared statement ID, and the query parameters. "QUERY_PARAMS" is as for "build_query_frame", except that the "values" key is required and permitted even at protocol version 1.$frame = build_register_frame( $version, events => \@events )Builds the frame for an "OPCODE_REGISTER" message. Takes an ARRAY reference of strings giving the event names.( $err, $message ) = parse_error_frame( $version, $frame )Parses the frame from an "OPCODE_ERROR" message. Returns an error code value and a string message.( $authenticator ) = parse_authenticate_frame( $version, $frame )Parses the frame from an "OPCODE_AUTHENTICATE" message. Returns the authenticator name as a string.( $options ) = parse_supported_frame( $version, $frame )Parses the frame from an "OPCODE_SUPPORTED" message. Returns a HASH reference mapping option names to ARRAYs of supported values.( $type, $result ) = parse_result_frame( $version, $frame )Parses the frame from an "OPCODE_RESULT" message. Returns a type value (one of the "TYPE_*" constants), and a value whose interpretation depends on the type.
If any other type is encountered, $result will be the $frame object itself. ( $event, @args ) = parse_event_frame( $version, $frame )Parses the frame from an "OPCODE_EVENT" message. Returns the event name and a list of its arguments; which will vary depending on the event name.
If the event name is unrecognised, @args will return just the $frame object itself. SPONSORSThis code was paid for by
AUTHORPaul Evans <leonerd@leonerd.org.uk>
Visit the GSP FreeBSD Man Page Interface. |