#pragma once

#include <platform.h>

struct tfe_stream * tfe_stream_create(struct tfe_proxy * pxy, struct tfe_thread_ctx * thread_ctx);

enum tfe_stream_option
{
	TFE_STREAM_OPT_SESSION_TYPE,
	TFE_STREAM_OPT_PASSTHROUGH,
	TFE_STREAM_OPT_KEYRING_ID
};

int tfe_stream_option_set(struct tfe_stream * stream, enum tfe_stream_option opt, const void * arg, size_t sz_arg);
int tfe_stream_init_by_fds(struct tfe_stream * stream, evutil_socket_t fd_downstream, evutil_socket_t fd_upstream);
void tfe_stream_destory(struct tfe_stream_private * stream);
