Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add packed bit field support to Row Structure #493

Closed
wants to merge 4 commits into from

Conversation

robotal
Copy link
Contributor

@robotal robotal commented Feb 16, 2023

Summary:

Background:

Currently in order to successfully use UDP, you must write some carefully crafted code that will take all the rows of metadata for one side and package it into a collection of bytes. Afterwards the caller will get a SecString object back which is a bit representation of all the bytes they passed in, minus the filtered out rows. The user must then extract the corresponding bits for each column into separate MPC Types. This is a cumbersome process which is error prone, as you must make sure to carefully match up the two steps and any changes can cause a bug.

This Diff

Adds support to RowDefinition for packed bits. Right now you directly pass in the column names that are to be packed, and the interface will combine each column. The output will contain columns in a vector form. I will refactor that in a future diff to make a bit easier to use.

Differential Revision: D43366173

@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported labels Feb 16, 2023
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D43366173

robotal pushed a commit to robotal/fbpcf that referenced this pull request Feb 16, 2023
Summary:
Pull Request resolved: facebookresearch#493

# Background:

Currently in order to successfully use UDP, you must write some carefully crafted code that will take all the rows of metadata for one side and package it into a collection of bytes. Afterwards the caller will get a `SecString` object back which is a bit representation of all the bytes they passed in, minus the filtered out rows. The user must then extract the corresponding bits for each column into separate MPC Types.  This is a cumbersome process which is error prone, as you must make sure to carefully match up the two steps and any changes can cause a bug.

# This Diff

Adds support to RowDefinition for packed bits. Right now you directly pass in the column names that are to be packed, and the interface will combine each column. The output will contain columns in a vector form. I will refactor that in a future diff to make a bit easier to use.

Differential Revision: D43366173

fbshipit-source-id: d07ca02e52ad597cbd826d09ceb4b13491d12eda
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D43366173

Tal Davidi and others added 4 commits February 22, 2023 13:04
Differential Revision: D43341286

fbshipit-source-id: b6a0e068caa5ad5da40729eceee3dad71858fe84
Differential Revision: D43366172

fbshipit-source-id: 6c9985bee4518333521160ae3071db2d65c228ee
Differential Revision: https://www.internalfb.com/diff/D43208067?entry_point=27

fbshipit-source-id: 20440bd731d55f11e5465367a7b77a213deffeb6
Summary:
Pull Request resolved: facebookresearch#493

# Background:

Currently in order to successfully use UDP, you must write some carefully crafted code that will take all the rows of metadata for one side and package it into a collection of bytes. Afterwards the caller will get a `SecString` object back which is a bit representation of all the bytes they passed in, minus the filtered out rows. The user must then extract the corresponding bits for each column into separate MPC Types.  This is a cumbersome process which is error prone, as you must make sure to carefully match up the two steps and any changes can cause a bug.

# This Diff

Adds support to RowDefinition for packed bits. Right now you directly pass in the column names that are to be packed, and the interface will combine each column. The output will contain columns in a vector form. I will refactor that in a future diff to make a bit easier to use.

Reviewed By: haochenuw

Differential Revision: D43366173

fbshipit-source-id: 4062cfedf7fdecbeea7a10325980d89b623d335a
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D43366173

@facebook-github-bot
Copy link
Contributor

This pull request has been merged in 2f51aa1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported Merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants