Fletchgen
The Fletcher Design Generator
Public Types | Public Member Functions | Public Attributes | List of all members
fletchgen::FieldPort Struct Reference

A port derived from an Arrow field. More...

#include <recordbatch.h>

Inheritance diagram for fletchgen::FieldPort:
Inheritance graph
[legend]
Collaboration diagram for fletchgen::FieldPort:
Collaboration graph
[legend]

Public Types

enum  Function { ARROW , COMMAND , UNLOCK }
 Enumeration of FieldPort functions. More...
 

Public Member Functions

 FieldPort (std::string name, Function function, std::shared_ptr< arrow::Field > field, std::shared_ptr< FletcherSchema > fletcher_schema, std::shared_ptr< cerata::Type > type, Port::Dir dir, std::shared_ptr< ClockDomain > domain, bool profile)
 Construct a new port derived from an Arrow field. More...
 
std::shared_ptr< Object > Copy () const override
 Create a deep-copy of the FieldPort.
 

Public Attributes

enum fletchgen::FieldPort::Function function_
 The function of this FieldPort.
 
std::shared_ptr< FletcherSchemafletcher_schema_
 The Fletcher schema this port was derived from.
 
std::shared_ptr< arrow::Field > field_
 The Arrow field this port was derived from.
 
bool profile_ = false
 Whether this field port should be profiled.
 

Detailed Description

A port derived from an Arrow field.

We currently derive ports with three different functions from Arrow fields;

This structure just helps us remember what function the port has and from what field it was derived. If a FlatType of the type of this port was marked with "array_data" in the Type metadata, it signifies that this FlatType constitutes to the data width on an ArrayReader/Writer. I.e. the port is not a dvalid or last but some other type concatenated onto the ArrayReader/Writer data output/input.

Definition at line 52 of file recordbatch.h.

Member Enumeration Documentation

◆ Function

Enumeration of FieldPort functions.

Enumerator
ARROW 

Port with Arrow data.

COMMAND 

Port to issue commands to the generated interface.

UNLOCK 

Port that signals the kernel a command was completed.

Definition at line 54 of file recordbatch.h.

Constructor & Destructor Documentation

◆ FieldPort()

fletchgen::FieldPort::FieldPort ( std::string  name,
Function  function,
std::shared_ptr< arrow::Field >  field,
std::shared_ptr< FletcherSchema fletcher_schema,
std::shared_ptr< cerata::Type >  type,
Port::Dir  dir,
std::shared_ptr< ClockDomain >  domain,
bool  profile 
)
inline

Construct a new port derived from an Arrow field.

Parameters
nameThe name of the field-derived port.
functionThe function of the field-derived port.
fieldThe Arrow field to derive the port from.
fletcher_schemaThe Fletcher Schema.
typeThe Cerata type of the port.
dirThe port direction.
domainThe clock domain.
profileWhether this Field-derived Port should be profiled.

Definition at line 78 of file recordbatch.h.


The documentation for this struct was generated from the following files: