/*
* Copyright 2013-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Amazon Software License (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/asl/
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.amazonaws.kinesis.dataviz.producer;
import java.nio.ByteBuffer;
/**
* Interface for sending information to Amazon Kinesis.
*
*/
public interface Producer {
/**
* Posts an event to Kinesis
* @param partitionKey The partition key to use
* @param data The event data, represented as a string
*/
void post(String partitionKey, String data);
/**
* Posts an event to Kinesis
* @param partitionKey The partition key to use
* @param data The event data, represented as a byte buffer
*/
void post(String partitionKey, ByteBuffer data);
/**
* Posts an event to Kinesis
* @param event The event data
*/
void post(Event event);
/**
* Connects to Kinesis and starts listening for events to send
*/
void connect();
/**
* Stops listening for events
*/
void stop();
}